永发信息网

看看这个C语言程序有问题没有

答案:2  悬赏:50  手机版
解决时间 2021-05-06 15:44

#include<stdio.h>
main(void)
{
int a,b,c;
char m,n;
scanf("%d",&a);
while(n!=61){
n=getchar();
if(n==43){
scanf("%d",&b);
c=a+b;
printf("%d",c);}
if(n==45){
scanf("%d",&b);
c=a-b;
printf("%d",c);}
if(n==42){
scanf("%d",&b);
c=a*b;
printf("%d",c);}
if(n==47){
scanf("%d",&b);
c=a/b;
printf("%d",c);}
a=c;
}
return 0;
}

要求是按一下运算符号就出一次结果,就像最简单的计算器一样,按下=号就结束,出结果

最佳答案

#include<stdio.h>
int main(void)
{
char a[2];
int b[3],m,i=0,j=0,l=2;
scanf("%d",&m);
getchar();
while(m!='0')
{
if(i==2&&j==1)
{
i=0;
j=0;
if(a[0]=='+')
b[i++]=b[0]+b[1];
else if(a[0]=='-')
b[i++]=b[0]-b[1];
else if(a[0]=='*')
b[i++]=b[0]*b[1];
else if(a[0]=='/')
b[i++]=b[0]/b[1];
if(m=='=')
printf("%d\n",b[0]);
else
printf("%d%c\n",b[0],m);
}


if(l%2==0)
{
l++;
b[i++]=m;
scanf("%c",&m);
getchar();
continue;
}
if(l%2==1)
{
if((m!='+')&&(m!='-')&&(m!='*')&&(m!='/'))
{
scanf("%c",&m);
getchar();
continue;
}
l++;
a[j++]=m;
scanf("%d",&m);
getchar();
continue;
}


}
printf("%d",b[0]);


return 0;
}




结果:


全部回答
scanf("%d",&a); while(n!='='){ n=getchar(); scanf("%d",&b); 不说别的 就先只看这段代码 你就连续输入了两个数字 中间没有操作符 当然不符合你的要求了 上面的功能虽然简单 但是实现起来并不是很容易 我建议你用switch语句来实现这个问题
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
我想开个移动 电信充值的门面 谁懂 我是新手
我的顯卡能玩AVA嗎
恭城镇老周批发部我想知道这个在什么地方
北京求职公寓有没20来块但是星级酒店设施的
电脑能联网,能上QQ,重启重装过,把防火墙杀
嗓子有黄色的痰
我是在别人家住,我和室友关系不好,交了半年
QQ密码被盗,为何盗号者能帐号申诉成功,有何
貂婵活了多么岁
现用小锅能收看亚洲**卫星电视节目吗?
祥瑞大饭店这个地址在什么地方,我要处理点事
好友上线声音如何开启
极限飚车怎么安装阿? 有图片
OPPO的 UE350耳机
大专一般什么时候开学
推荐资讯
我国研制成功的第三代侦察卫星—一尖兵三型,
美肤宝哪个洗面奶好用,美肤宝洗面奶才几块一
吃什么瘦身
富诚电器地址在什么地方,想过去办事
预防甲流的顺口溜?
桌面壁纸全套
DNF的装备谁的最好
关于网购衣服的问题
二年级用再见写一句话,一句话带有薛之谦的名
长丰县合肥中国联通(运捷营业厅)地址在哪里啊
银蛋里面一般都有什么?金蛋里面又有什么?
人口普查时没有户口的孩子户口可以上吗
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?