循环课后习题
要求:写一个程序,对用户输入的整数进行求和。当用户输入任意字符时,结束程序并打印结果。实现效果如图
我自己写的代码:
#include <stdio.h>
int main()
{
char ch;
int num,sum=0;
do
{
ch=getchar();
if(ch>='0'&&ch<='9')
{
num=10*num+(ch-'0');
sum=sum+num;
printf("请输入合法的数字:%d\n",num);
num=0;
}
else
{
printf("请输入合法的数字:%c\n",ch);
break;
}
}
while(ch!=' ');
printf("结果是:%d\n",sum);
return 0;
}
问题1:else里面我不知道怎么才能让输入为字符时才退出循环
问题2:while里面应该写什么呢
希望帮忙看一下我这样写下去的话能实现要求的功能吗?可以的话要怎么修改呢谢谢 本帖最后由 zltzlt 于 2020-8-11 13:29 编辑
需要多加一个 getchar() 过滤掉换行符
#include <stdio.h>
int main()
{
char ch;
int num,sum=0;
do
{
ch=getchar();
if(ch>='0'&&ch<='9')
{
num=10*num+(ch-'0');
sum=sum+num;
printf("请输入合法的数字:%d\n",num);
num=0;
}
else
{
printf("请输入合法的数字:%c\n",ch);
break;
}
getchar();
}
while(1);
printf("结果是:%d\n",sum);
return 0;
}
页:
[1]