不知道错在哪,看一看,谢谢
#include
int main()
{
int i,n,x,sum,count,a;
scanf("%d",&x);
count=0;
while(x!=0)
{
x/=10;
count++;
}
sum=0;
for(n=1;n<=count;n++)
{
a=pow(10,n-1);
i=x/a%10;
sum=sum+i;
}
printf("%d",sum);
return 0;
}
while循环中x值都已经被你修改了啊,后面当然不行了
就你现在的代码,在第一个while循环前,重新定义一个变量等于x,然后在while中用新变量进行处理
另外你的代码太麻烦,用求余就好了啊
#include <stdio.h>
int main()
{
int x = 0,sum = 0;
scanf("%d",&x);
while(x!=0)
{
sum += x%10;
x = x/10;
}
printf("%d",sum);
}
修改如下,供参考:
#include <stdio.h>
int main()
{
int i, n, x, sum, count, a;
scanf("%d", &x);
count = 0;sum = 0;
while (x != 0)
{
sum += x % 10;
x /= 10;
//count++;
}
//for (n = 1; n <= count; n++)
//{
// a = pow(10, n - 1);
// i = x / a % 10;
// sum = sum + i;
//}
printf("%d", sum);
return 0;
}
#include
#include
using namespace std;
int main()
{
int i,n,x,sum,count,a;
scanf("%d",&x);
while(x!=0)
{
sum+=x%10;
x/=10;
}
printf("%d",sum);
return 0;
}
差点被你的逻辑忽悠了~~~
#include <stdio.h>
int main()
{
int x = 0,sum = 0;
scanf("%d",&x);
while(x!=0)
{
sum += x%10;
x = x/10;
}
printf("%d",sum);
}
不知道你这个问题是否已经解决, 如果还没有解决的话: