C语言:编写程序,使用命令行操作程序计算两个两位数的乘法运算

版权声明:根据《中华人民共和国著作权法》,如需转载请标明来源并联系作者进行授权。本文作者保留依法追究未经授权转载等侵犯作者著作权等的违法行为之权利。 https://blog.csdn.net/qq_41933331/article/details/80331087

题目来源:大工慕课 链接
作者:Caleb Sung

题目要求

编写程序,使用命令行操作程序计算两个两位数的乘法运算。如:

cal 15*15

用于计算15×15。

参考解答

收集字符串时记得一定要使用gets()而不是scanf(),因为后者无法收集命令行中的空格
在处理将内容为数字的文字字符转换为数字类型的变量可以使用形如(int)(ch-'0')的方法加以处理。

注:下面这段代码直接使用了数组绝对元素位置查找需要的字符,如果这种方法不可行我会再更新。

#include<stdio.h>

int main(){
    char ch[100];
    int a, b, a1, a2, b1, b2; 
    L:printf("本程序用于使用命令行进行两个两位数的乘法运算。\n如: cal 15*15 用于计算15×15\n\n请输入命令:\n");
    gets(ch);

    if(ch[0]=='c' && ch[1]=='a' && ch[2]=='l'){
        a1 = (int)(ch[4]-'0');
        a2 = (int)(ch[5]-'0');
        b1 = (int)(ch[7]-'0');
        b2 = (int)(ch[8]-'0');

        a = 10*a1 + a2;
        b = 10*b1 + b2;

        printf("\n第一个乘数:%d  第二个乘数:%d\n", a, b);
        printf("%d × %d = %d", a, b, a*b);
    }
    else{
        printf("您输入的命令格式有误,请检查!\n\n");
        goto L;
    } 
} 
阅读更多

扫码向博主提问

Caleb_Sung

非学,无以致疑;非问,无以广识
  • 擅长领域:
  • 数据挖掘
  • 数据可视化
  • 机器学习
去开通我的Chat快问
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页