杭电acm 1013问题,总是WA,帮忙看下啊
http://acm.hdu.edu.cn/showproblem.php?pid=1013我的代码是#include<stdio.h>#defineLEN3000int...
http://acm.hdu.edu.cn/showproblem.php?pid=1013
我的代码是
#include<stdio.h>
#define LEN 3000
int main (void)
{
char a[LEN],i,flag;
__int64 sum,j;
while(scanf("%s",a)!=EOF)
{
flag=0;
for(i=0;a[i]!='\0';i++)
if(a[i]!='0')
flag=1;
if(!flag)
return 0;
sum=0;
getchar();
for(i=0;a[i]!='\0';i++)
sum+=a[i]-'0';
while(sum/10)
{
j=sum;
sum=0;
while(j/10){
sum+=(j%10);
j/=10;}
sum+=j;
}
printf("%I64d\n",sum);
}
return 0;
}
我已经用了很大的字符数组来接收,怎么还是不能过。。。 展开
我的代码是
#include<stdio.h>
#define LEN 3000
int main (void)
{
char a[LEN],i,flag;
__int64 sum,j;
while(scanf("%s",a)!=EOF)
{
flag=0;
for(i=0;a[i]!='\0';i++)
if(a[i]!='0')
flag=1;
if(!flag)
return 0;
sum=0;
getchar();
for(i=0;a[i]!='\0';i++)
sum+=a[i]-'0';
while(sum/10)
{
j=sum;
sum=0;
while(j/10){
sum+=(j%10);
j/=10;}
sum+=j;
}
printf("%I64d\n",sum);
}
return 0;
}
我已经用了很大的字符数组来接收,怎么还是不能过。。。 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询