急!!为什么我这道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;
} 展开
话说,东软的冬季校赛即将来临,朱语气特别喜欢字符串,所以就在字符串这个方面下了不少功夫。他对数字特别感兴趣,平时没事的时候就计算字符串的和。
朱语气的字符串之和的定义:把字符串中所有数字、字母的值(字母的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;
} 展开
5个回答
展开全部
while(gets(a)!=NULL)//改了就好
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
while(scanf("%s",a)==1)//改成这个就可以了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你输出了很多换行,题目中没有输出换行。
更多追问追答
追问
gets()怎么才能不读取回车 ,我只是是读取了回车,但是不知道怎么改?求大神救场
追答
gets不会读回车的啊。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
gets是不读取回车的,但是puts会输出回车,可以选用gets和fputs的组合,当然也有更简便的方法
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询