我想要表达的是...
输入两个数, 然后接受字符, 如果是“+”,两个数相加并显示结果..
如果是“-”,两个数相减并显示结果.
以下是我写的代码.. 但是显示不是我想要的.. 都已经调了几回了..用IF语句的话.. 条件又不可以打成(a=="+")这样..
希望大家帮帮看.. 怎么去改正..
#include<stdio.h>
void main()
{
char a,b;
int num1,num2,a1,b1;
printf("请输入两个整数:");
scanf("%d%d",&num1,&num2);
a1=num1+num2;
b1=num1-num2;
printf("\n请输入运算符号:");
a=getchar();
if ((a=='+'))
{
printf("它们的和为%d\n",a1);
}
b=getchar();
if ((a=='-'))
{
printf("它们的差为%d\n",b1);
}
谢谢了!
----------------解决方案--------------------------------------------------------
#include<stdio.h>
void main()
{
char a,b;
int num1,num2,a1,b1;
printf("请输入两个整数:");
scanf("%d%d",&num1,&num2);
a1=num1+num2;
b1=num1-num2;
printf("\n请输入运算符号:");
fflush(stdin);
a=getchar();
if ((a=='+'))
{
printf("它们的和为%d\n",a1);
}
if ((a=='-'))
{
printf("它们的差为%d\n",b1);
}
}
在getchar前面先清空键盘输入的缓存区就好了
----------------解决方案--------------------------------------------------------
谢谢~~ ..
我开始也有加 ..
不过我可能是多了一步 b=getchar()的缘故..老是出错
----------------解决方案--------------------------------------------------------
你只需要输入一个进行判断就好了3
没必要分开输入符号
----------------解决方案--------------------------------------------------------
我看见书上用switch写的
我就直接抄录重点部分吧`
switch(ch)
{
case '+'
printf("=%f\n",x+y);
break;
case'-'
printf("=%f\n",x-y);
break;
}
----------------解决方案--------------------------------------------------------
对啊,象这样的问题用swtich语句比较好用一些!不过解决问题的方法有很多种吗!建议都要参考一下,扩展一下思路!
----------------解决方案--------------------------------------------------------
同意6楼的看法,用switch确实省事不少,但在只有两种条件的情况下用if也可以,并无多大区别,只是注意别忘了fflush(stdin)
----------------解决方案--------------------------------------------------------
/*这样也可以*/
#include<stdio.h>
void main()
{
char a;
int num1,num2;
printf("请输入两个整数:");
scanf("%d%d",&num1,&num2);
getchar();
printf("\n请输入运算符号:");
scanf("%c",&a);
if ((a=='+'))
{
printf("它们的和为%d\n",num1+num2);
}
if ((a=='-'))
{
printf("它们的差为%d\n",num1-num2);
}
getch();
}
----------------解决方案--------------------------------------------------------
fflush(stdin)起啥作用啊
----------------解决方案--------------------------------------------------------
#include<stdio.h>
void main()
{
char a;
int num1,num2;
printf("请输入两个整数:");
scanf("%d,%d",&num1,&num2);
getchar();
printf("\n请输入运算符号:");
printf("\n输入#运算符号退出:\n");
scanf("%c",&a);
do
{
if ((a=='+'))
{
printf("它们的和为%d\n",num1+num2);
}
if ((a=='-'))
{
printf("它们的差为%d\n",num1-num2);
}
scanf("%c",&a);
}while(a!='#');
}
我的愚见,我看这样改还要好一点!
----------------解决方案--------------------------------------------------------