问题描述
- c语言 简易加减计算器
-
设计一个能计算加减法的简单计算器 从键盘输入数字和运算符 输入等于号时结束计算并输出结果
输出例如下
$ ./a.out
10
+
15
-
5
=
20下面是我自己编的
#include<stdio.h> #include<stdlib.h> #include<string.h> int main(void) { char num1[80],num2[80]; char a; int j,k,s=0; gets(num1); j=atoi(num1); k=atoi(num2); while(j!=EOF){ scanf("%c",&a); if(a== '+'){ gets(num2); s=j+k; j=s; } if(a== '-'){ gets(num2); s=j-k; j=s; } if(a== '='){ break; } } printf("%d",s); return 0; }
这次是关于结构体的题目 要求用到gets() atoi()等
求大神看看应该怎么改现在可以编译执行了 但是输出值不对
1+1算成1
0+1算成0
解决方案
if(scanf("%c",&a)== +)
->
scanf("%c",&a);
if (a == '+')
...
解决方案二:
1.scanf 函数是有返回值的,它的返回值可以分成三种情况
1) 正整数,表示正确输入参数的个数。例如执行 scanf("%d %d", &a, &b);
如果用户输入"3 4",可以正确输入,返回2(正确输入了两个变量);
如果用户输入"3,4",可以正确输入a,无法输入b,返回1(正确输入了一个变量)。
2) 0,表示用户的输入不匹配,无法正确输入任何值。如上例,用户如果输入",3 4",返回0。
3) EOF,这是在stdio.h里面定义的常量(通常值为-1),表示输入流已经结束。在Windows下,用户按下CTRL+Z(会看到一个^Z字符)再按下回车(可能需要重复2次),就表示输入结束;Linux/Unix下使用CTRL+D表示输入结束。
ps:例如减号要用单引号引起来'-'
解决方案三:
C语言简易计算器
C语言控制台简易计算器
时间: 2024-11-08 22:22:49