
怎么让C语言写的计算器计算完一组数以后不让程序结束,返回再重新计算别的数?
我的代码:#include<stdio.h>intmain(){floata,b;printf("请输入两个正数,中间用逗号隔开:\n");scanf("%f,%f",&...
我的代码:
#include<stdio.h>
int main()
{
float a,b;
printf("请输入两个正数,中间用逗号隔开:\n");
scanf("%f,%f",&a,&b);
printf("两数之和a+b为%f\n",a+b);
printf("两数之差a-b为%f\n",a-b);
printf("两数之积a*b为%f\n",a*b);
if(b==0)
{
printf("Error.You can't keep the divisor is equal to zero.");
}
else
{
printf("两数之商a/b为%f\n",a/b);
}
}
问题的意思就是说,我打开上面这个程序,输入两个值,结果他刚计算好程序就结束了,我都来不及看。而且我希望可以计算完一个运算以后可以再输入一组数再进行一次运算,不然计算完一次它自动关闭以后我如果还要计算的话还得再打开一次,太麻烦了。
问题就是这样。很简单。希望的大家帮帮我! 展开
#include<stdio.h>
int main()
{
float a,b;
printf("请输入两个正数,中间用逗号隔开:\n");
scanf("%f,%f",&a,&b);
printf("两数之和a+b为%f\n",a+b);
printf("两数之差a-b为%f\n",a-b);
printf("两数之积a*b为%f\n",a*b);
if(b==0)
{
printf("Error.You can't keep the divisor is equal to zero.");
}
else
{
printf("两数之商a/b为%f\n",a/b);
}
}
问题的意思就是说,我打开上面这个程序,输入两个值,结果他刚计算好程序就结束了,我都来不及看。而且我希望可以计算完一个运算以后可以再输入一组数再进行一次运算,不然计算完一次它自动关闭以后我如果还要计算的话还得再打开一次,太麻烦了。
问题就是这样。很简单。希望的大家帮帮我! 展开
8个回答
展开全部
增加了循环输入的功能,你试试吧,代码最后4句是后加的:
#include<stdio.h>
#include <ctype.h>
int main()
{
while(1)
{
float a,b;
printf("请输入两个正数,中间用逗号隔开:\n");
scanf("%f,%f",&a,&b);
printf("两数之和a+b为%f\n",a+b);
printf("两数之差a-b为%f\n",a-b);
printf("两数之积a*b为%f\n",a*b);
if(b==0)
{
printf("Error.You can't keep the divisor is equal to zero.");
}
else
{
printf("两数之商a/b为%f\n",a/b);
}
getchar(); // 后加的语句
printf("\n y 继续计算,n 退出\n"); // 后加的语句
if(toupper(getchar()) == 'N') // 后加的语句
break; // 后加的语句
}
}
更多追问追答
追问
getchar是什么意思?
if(toupper(getchar()) == 'N') 这句话中toupper是什么意思?
而且我没看懂。为什么输入y就能继续计算了?
追答
还有什么问题吗,满意请采纳
getchar是接收一个字符输入;
toupper 是将输入的字母,变成大写;
其实这个程序是:输入N或n 结束程序,其它任意字符继续计算;
当你输入 N或n 的时候 ,程序执行了 break; 也就退出了 while 循环,程序结束;
当你输入 Y 或其它字符的时候,程序就又从 while 开始执行,新的计算开始。
展开全部
#include<stdio.h>
int main()
{
float a,b;
printf("请输入两个正数,中间用逗号隔开:\n");
while (scanf("%f,%f",&a,&b) != EOF) //这里改成这样子
{
printf("两数之和a+b为%f\n",a+b);
printf("两数之差a-b为%f\n",a-b);
printf("两数之积a*b为%f\n",a*b);
if(b==0)
{
printf("Error.You can't keep the divisor is equal to zero.");
}
else
{
printf("两数之商a/b为%f\n",a/b);
}
printf("请输入两个正数,中间用逗号隔开:\n");
}
}
当不需要再计算的时候,按一次ctrl+z就可以了退出程序了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
把所有要计算的步骤写在一个while(c=!getchar(s)){ }里面,每次结束时候都输入一个字母,不是s就继续计算
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-09-30
展开全部
使用while语句,while(1)大循环,让程序一直执行,可以添加一个标志变量(例如:flag)进行有意识控制程序的继续或者结束!if(flag==1)--->执行循环体,if(flag==0) break;跳出while循环.
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include<stdio.h>
int main()
{
float a,b;
char de[10]={'\0'};
while(1)
{
printf("请输入两个正数,中间用逗号隔开:\n");
scanf("%f,%f",&a,&b);
printf("两数之和a+b为%f\n",a+b);
printf("两数之差a-b为%f\n",a-b);
printf("两数之积a*b为%f\n",a*b);
if(b==0)
{
printf("Error.You can't keep the divisor is equal to zero.");
}
else
{
printf("两数之商a/b为%f\n",a/b);
}
printf("按任意键结束\n");
gets(de);
continue;
}
}
int main()
{
float a,b;
char de[10]={'\0'};
while(1)
{
printf("请输入两个正数,中间用逗号隔开:\n");
scanf("%f,%f",&a,&b);
printf("两数之和a+b为%f\n",a+b);
printf("两数之差a-b为%f\n",a-b);
printf("两数之积a*b为%f\n",a*b);
if(b==0)
{
printf("Error.You can't keep the divisor is equal to zero.");
}
else
{
printf("两数之商a/b为%f\n",a/b);
}
printf("按任意键结束\n");
gets(de);
continue;
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询