如题所述
第1个回答 2008-04-05
#include "stdio.h"
int main()
{
long a;
int s = 0;
printf("请输入一个正整数:");
scanf("%ld",&a);
for (int i=0;;i++)
{
s += a%10;
if (a<10)
{
break;
}
a = a/10;
}
printf("\n各位数之和为:%d\n",s);
return 0;
}
int main()
{
long a;
int s = 0;
printf("请输入一个正整数:");
scanf("%ld",&a);
for (int i=0;;i++)
{
s += a%10;
if (a<10)
{
break;
}
a = a/10;
}
printf("\n各位数之和为:%d\n",s);
return 0;
}
第2个回答 2008-04-05
楼上的算法很不错,如果是我,还是喜欢写的保守些。
#include <stdio.h>
int main()
{
long a;
int s = 0;
printf("请输入一个正整数:");
scanf("%ld",&a);
while(a>=1)
{
s=s+a%10;
a=a/10;
}
printf("\n各位数之和为:%d\n",s);
return 0;
}
#include <stdio.h>
int main()
{
long a;
int s = 0;
printf("请输入一个正整数:");
scanf("%ld",&a);
while(a>=1)
{
s=s+a%10;
a=a/10;
}
printf("\n各位数之和为:%d\n",s);
return 0;
}
第3个回答 2008-04-05
fpc:
var n:string;
a,b,i:longint;
begin
read(n);
b:=0;
a:=length(n);
for i:=1 to a do
b:=ord(n[i])-ord('0')+b;
writeln(b);
end.本回答被提问者采纳
var n:string;
a,b,i:longint;
begin
read(n);
b:=0;
a:=length(n);
for i:=1 to a do
b:=ord(n[i])-ord('0')+b;
writeln(b);
end.本回答被提问者采纳