c语言的四则运算 5

这个程序编译通过,可是结果却不能正常出来,找了好久也不知道哪里出错了,请高手帮忙看一下问题出在哪里,谢谢了!#include<stdio.h>voidmain(){flo... 这个程序编译通过,可是结果却不能正常出来,找了好久也不知道哪里出错了,请高手帮忙看一下问题出在哪里,谢谢了!
#include<stdio.h>
void main()
{
float a,b;
float sum=0;
char c;
printf("첫번째 수는?");
scanf("%f",&a);
printf("\n두번째 수는?");
scanf("%f",&b);
printf("\n원하는 연산은?");
scanf("%c",&c);
switch(c)
{
case '+': sum=a+b; break;
case '-': sum=a-b; break;
case '*': sum=a*b; break;
case '/': sum=a/b; break;
}
printf("답은%g입니다.\n",sum);
}
展开
 我来答
yangyusen2007
2008-01-18 · 超过22用户采纳过TA的回答
知道答主
回答量:136
采纳率:0%
帮助的人:0
展开全部
刚学c时也总是遇见这种问题,后来才发现原来是scanf函数的问题,你可以在每个scanf后加一个getchar,当然,最好的办法就是清空输入流,即按第一位回答者说的那样用fflush(stdin)
狈让炮bpd96
2008-01-18 · TA获得超过4971个赞
知道大有可为答主
回答量:2451
采纳率:0%
帮助的人:2712万
展开全部
运行通过了
#include<stdio.h>
void main()
{
float a,b;
float sum=0;
char c;
printf("??? ???");
scanf("%f",&a);
printf("\n??? ???");
scanf("%f",&b);
printf("\n??? ????");
fflush(stdin);//增加的代码
scanf("%c",&c);
switch(c)
{
case '+': sum=a+b; break;
case '-': sum=a-b; break;
case '*': sum=a*b; break;
case '/': sum=a/b; break;
}
printf("??%f???.\n",sum); //修改了一下
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jeremiah123
2008-01-19 · TA获得超过218个赞
知道小有建树答主
回答量:176
采纳率:50%
帮助的人:65.5万
展开全部
printf("첫번째 수는?");
scanf("%f",&a);
printf("\n두번째 수는?");
scanf("%f",&b);
printf("\n원하는 연산은?");
scanf("%c",&c);
我觉得这个地方要改,一个一个字符和数字的输入....
改成printf(你写的这写外国语)
scanf("%f%c%f",&a,&c,&b);你象这样输出才能解决问题
要不然的话,你输入一个
printf("첫번째 수는?");
scanf("%f",&a);
回车一下,才能再输入数字b
printf("\n두번째 수는?");
scanf("%f",&b);
回车一下,才能再输入字符c
printf("\n원하는 연산은?");
scanf("%c",&c);
回车一下,才能做出选择,选择的就是c了
我是编译通过了,完全正常
的确你大于等于3个的输入就需要清空输入流
fflush(stdin)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
luhuo121800
2008-01-18
知道答主
回答量:21
采纳率:0%
帮助的人:9.2万
展开全部
printf("첫번째 수는?");
scanf("%f",&a);
printf("\n두번째 수는?");
scanf("%f",&b);
printf("\n원하는 연산은?");
???
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式