急!!为什么我这道C语言题明明是对的,但是在教题时,就显示Output Limit Exceed 5

Description话说,东软的冬季校赛即将来临,朱语气特别喜欢字符串,所以就在字符串这个方面下了不少功夫。他对数字特别感兴趣,平时没事的时候就计算字符串的和。朱语气的... Description
话说,东软的冬季校赛即将来临,朱语气特别喜欢字符串,所以就在字符串这个方面下了不少功夫。他对数字特别感兴趣,平时没事的时候就计算字符串的和。
朱语气的字符串之和的定义:把字符串中所有数字、字母的值(字母的ASCII值)加起来,即字符串中所有数字与字母之和。

如:朱语气的字符串为520ACM,则朱语气的字符串之和为5+2+0+65+66+67=216

Input
测试数据包含多组,请处理到EOF结束。
每组测试数据包括一行字符串,长度不超过1000。

Output
输出朱语气的字符串之和!

Sample Input
520ACM3,8 *0
Sample Output
21611

下面是我的代码:
#include<stdio.h>
#include<string.h>
int main()
{
char a[999]={0};
int sum1,sum2,sum3,i;
while(gets(a)!=EOF)
{
sum1=0;sum2=0;sum3=0;
int len=strlen(a);
int i;
for(i=0;i<len;i++)
{
if(a[i]>='a'&&a[i]<='z'||a[i]>='A'&&a[i]<='Z')
sum1+=a[i];
if(a[i]>='0'&&a[i]<='9')
sum2+=a[i]-48;
}
sum3=sum1+sum2;
printf("%d\n",sum3);
}
return 0;
}
展开
 我来答
我是阿金
2015-01-19 · 超过25用户采纳过TA的回答
知道答主
回答量:77
采纳率:0%
帮助的人:41.7万
展开全部
i重复定义了,把定义移到一起吧。
其他地方没有问题了。
int sum1,sum2,sum3,ilen=0;
while(gets(a)!=EOF)
{
sum1=0;sum2=0;sum3=0;
len=strlen(a);
for(i=0;i<len;i++)
paopaojingyu
2015-01-17 · TA获得超过189个赞
知道小有建树答主
回答量:101
采纳率:0%
帮助的人:92.2万
展开全部
    while(gets(a)!=NULL)//改了就好
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
村驴0
2015-01-18 · TA获得超过456个赞
知道小有建树答主
回答量:223
采纳率:33%
帮助的人:88.4万
展开全部
while(scanf("%s",a)==1)//改成这个就可以了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
雨诺与诺
2015-01-17 · TA获得超过1213个赞
知道小有建树答主
回答量:2179
采纳率:33%
帮助的人:680万
展开全部
你输出了很多换行,题目中没有输出换行。
更多追问追答
追问
gets()怎么才能不读取回车   ,我只是是读取了回车,但是不知道怎么改?求大神救场
追答
gets不会读回车的啊。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
why0353
2015-01-17 · 超过31用户采纳过TA的回答
知道答主
回答量:67
采纳率:0%
帮助的人:52.2万
展开全部
gets是不读取回车的,但是puts会输出回车,可以选用gets和fputs的组合,当然也有更简便的方法
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式