首先说下存在的问题:
1.define容易造成误会,因为不符合一般的编程习惯,false 0, true 1
2.scanf放在你的那个地方是达不到你想要的结果,只输入了一次。建议改成getchar这种形式,具体如图二脊尘
3.为了达到通用化,建议定义两个你需要处理的字符组合,他们相互配对,这样方便以后添加而不用改下面凳野伏的代码
4.同时为了配合3这个更改添加一个判断输入字符是不是在字符组的函数,方便使用。
详细代码如图,因为没有Stack我没枣携有办法验证,如果有错你看着改改,这种思路是没有错的。
图一
图二
首先说的第一个问题是,楼主对输入和输出函数的使用方法没有领会,双引号只是应该括住输入或输出的格式符,而输入量或者输出量是放在双引号的后面的。第二,输出语句中,要想输出三个量,比如被减数,减数和差,那么输出语句中就应该有三个输出的格式符,而不是只有一个。第三,在C语言中,如果用整数来存储两个整数值,那么它们的商仍然是一个整数岩橡,比方说1/2的商,结果就是零档巧。所以要想输出得到0.5,那么有两种方案,一种是输入仍然使用整数而计算前先把它转换为浮点数,计算以后再粗蠢旁进行输出,还有一种就是输入的时候就以浮点数来进行输入,而为了防止输出时带许多个小数点后面的零,这里采用了%g的格式进行输出。
#include
void main()
{ double a,b
scanf("%lf%lf",&a,&b)
printf("%g+%g=%g\n",a,b,a+b)
printf("%g-%g=%g\n",a,b,a-b)
printf("%g*%g=%g\n",a,b,a*b)
printf("%g/%g=%g\n",a,b,a/b)
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)