|
发表于 2020-2-22 15:59:07
|
显示全部楼层
- #include <stdio.h>
- #define N 4
- int main()
- {
- int i, front, rear, origin_result;
- char c, op;
- char *check[10] = {"incorrect", "correct"};//0为错,1为对
- printf("0 = %s, 1 = %s\n", *check, *(check+1));//检查代码
- int times = N; //暂定四行输入
- int ca[N] = {0};//四个结果,首先默认初始化0
- i = 0;
- while(times--) //获取算式
- {
- scanf("%d", &front);//前一个数
- do //简单地过滤空格
- {
- c = getchar();
- }while(c != '+' && c != '-' && c != '*' && c != '/');
- op = c; //获取运算符
- scanf("%d", &rear); //后一个数
- do //过滤空格的同时跳过等号
- {
- c = getchar();
- }while(c != '=');
- scanf("%d", &origin_result);//原始结果
- switch(op) //验算
- {
- case '+':if(origin_result == front + rear)
- ca[i] = 1;break;
- case '-':if(origin_result == front - rear)
- ca[i] = 1;break;
- case '*':if(origin_result == front * rear)
- ca[i] = 1;break;
- case '/':if(!(front%rear))
- ca[i] = 1;break;
- }
- i++;
- }
- for (i = 0; i < N; i++)//打印结果
- {
- printf("Case %d: %s\n", i+1, *(check+ca[i]));
- }
- return 0;
- }
复制代码
后来看一看,没必要转换为浮点型或者多用一个变量验算哈哈 |
|