这道题怎么修改??????xxxxxxxxxxxxxxxxxxxxxxxxxxx
有道题,要求输入的如果是数字的话就累加起来,直到输入一个非数字的,则输出累加结果并退出。。怎么写???这是自己写的
#include<stdio.h>
int main()
{
int a,b;
for(a=0;b!='%d';)
{
scanf("%d",&b);
a=a+b;
printf("%d\n",a);
}
}
输入数字时正常,但是输入字母的时候就不会正常退出。。。
[[it] 本帖最后由 chendsily 于 2008-4-16 21:23 编辑 [/it]]
搜索更多相关的解决方案:
正常
----------------解决方案--------------------------------------------------------
for语句后的b!='%d'中的%d该是%s吧?另外好像应该在加一个break,当b为非数字时!
----------------解决方案--------------------------------------------------------
还是有点不明白
----------------解决方案--------------------------------------------------------
............
[[it] 本帖最后由 bianfeng 于 2008-4-16 20:48 编辑 [/it]]
----------------解决方案--------------------------------------------------------
顶上去,看有没有人肯帮忙
----------------解决方案--------------------------------------------------------
有没有人看到???
----------------解决方案--------------------------------------------------------
貌似错误不是一处!
----------------解决方案--------------------------------------------------------
那是哪一处,请帮忙指出来。谢谢
----------------解决方案--------------------------------------------------------
那样写不好
感觉这样写不错
#include"stdio.h"
int main(void)
{
int x,sum;
sum=0;
while((scanf("%d",&x)==1))
sum+=x;
printf("%d\n",sum);
return 0;
}
----------------解决方案--------------------------------------------------------
直接用这个吧!
#include<stdio.h>
int main(void)
{
int a;
char b;
int flag;
flag=0;
a=0;
H:
b=getchar();
fflush(stdin);
if(b>='0'&&b<='9')
flag=1;
else
flag=0;
switch(flag)
{
case 1:
a=a+(b-48);
printf("%d\n",a);
goto H;
break;
default :printf("Error!\n");
}
return 0;
}
我是新手! 貌似楼上的比我的好! 嘿嘿!
----------------解决方案--------------------------------------------------------