C语言写输入一个整数,计算各个数字的平方之和

如121,输出结果为1*1+2*2+1*1=6

#include<stdio.h>

int main()

{int x,t,s=0;

 scanf("%d",&x);

 while(x)

 {

t=x%10;

s+=t*t;

x/=10;

 }

printf("%d\n",s);

getch();

return 0;

}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-04-14
你们都把那题搞那么复杂干什么撒。。。
我来写个你容易理解的:
#include "stdio.h"
main()
{
int i,n,a;
int num=0;
printf("输入整数:");
scanf("%d",i);
printf("整数位数:");
scanf("%d",n); /* n是输入整数的位数*/
for(;n>1;--n)
{
a=i%10;
num+=a*a;
}
printf("%d",num);

}
第2个回答  2010-04-14
main(){intx,i,m,n,sum;i=m=n=0;scanf("%d",&x);i=x%100;m=(x-i*100)%10;n=x-i*100-m*10;sum=i*i+m*m+n*n;printf("%d",sum);}本回答被提问者采纳
第3个回答  2010-04-14
#include<stdio.h>
int main(){
char c;
int sum=0;
while((c=getchar())!=EOF){
if (c==' '||c=='\n')
;
else
sum+=(c-'0')*(c-'0');
}
printf ("%d\n",sum);
return 1;
}
输入末尾记得打一个ctrl+z作为结束
也可以这么写
while(1){
c=getchar();
if (c=='\n')
break;
}