编译没有错,可就是运行不出结果.

来源:百度知道 编辑:UC知道 时间:2024/03/28 18:57:26
#include <stdio.h>
int main (void)
{
int n,k,sum=0;
while (scanf("%d",&n)!=EOF){
scanf("%d",&n);
if (n<0)
n=-n;
do{
k=n%10;
n=n/10;
sum+=k;
}
while (n!=0);
printf("%d\n",sum);
}
return 0;
}
题意:求一个数的各位数字之和.
我学的是C

while (scanf("%d",&n)!=EOF){ 这里读取了一次n;
scanf("%d",&n); 再次读取n应该是重复读了
还有sum的值应该每次输出之后重新初始化为0;

为什么用EOF呢?而且从键盘获取一个输入好像不是这样写的吧?好久没写C生疏了...
#include <stdio.h>
int main (void)
{
int n,k,sum=0;
scanf("%d",&n);
if (n<0)
n=-n;
do{
k=n%10;
n=n/10;
sum+=k;
}
while (n!=0);
printf("%d\n",sum);
return 0;
}