新手,程序结果是对的,但不理解为什么会超时,师兄给的答案看不懂
输入包含多组数据,每组数据第一行为一个数字n,表示有n个字符(保证没有空格)。接下来一行n个字符。Output
输出所有字符的ASCII码之和
Sample Input
5 ABCDE
Sample Output
335
我的答案(超时的,就是不知道为什么)
#include<stdio.h>
int main()
{
int num,total,i;
char ch;
while(scanf("%d",&num)!=EOF)
{
i=0;
total=0;
getchar;
do
{
ch=getchar();
total+=ch;
i++;
}
while (i!=num);
printf("%d\n",total);
}
return 0;
}
师兄的正确答案(accepted)
#include<stdio.h>
int main()
{
int total,i;
int n;
char c;
while(scanf("%d",&n)!=EOF)
{
getchar();
total=0;
while(n--)
{
scanf("%c",&c);
{
total+=c;
}
}
printf("%d\n",total);
}
return 0;
}
怎么办?我不理解,看不明白。求大侠相助,