C语言编程:给定一个正整数,求其各位之和。大家来帮我看看哪错了

题目描述

给定一个正整数,求其各位之和。

输入

输入一行,为一个正整数(最多10,000位)。

输出

输出各位之和。

注意:输出部分的结尾要求包含一个多余的空行。

样例输入

17

样例输出

8
我的程序:
#include<stdio.h>
int main()
{
int n,s=0,a,b,c,d,e;
scanf("%d",&n);
a=n%10;
b=n%100-a;
c=n%1000-b;
d=n%10000-c;
e=n%100000-d;
s=a+b/10+c/100+d/1000+e/10000;
printf("%d\n",s);
return 0;
}
测试结果:Wrong Answer at Test 2 264Byte GCC 2010-03-27 20:02:41.0
注:题目来源于acm.njupt.edu.cn的第1050题

第1个回答  2010-03-27
程序没错。不知道你在什么环境下测试的。一般C语言中int是16位的,最大是65535,c++中int才是32位的。
第2个回答  2010-03-27
你发的题中说明 "(最多10,000位)。" 10000位很大啊.
你是不是没注意看题目?本回答被提问者采纳
第3个回答  2010-03-27
我用你的程序试了一下,没有错误啊,可以运行。
第4个回答  2010-03-27
既然用不上这个数~直接当做字符串处理好了~~
相似回答