用C语言编写程序,输入一个任意整数,求它的位数及各位数字之立方和.【使用while语句】

如题所述

第1个回答  2013-04-14
#include<stdio.h>
main()
{
int n,i,s=0,sum=0;
printf("请输入一个整数:");
scanf("%d",&n);
i=n;
while(i!=0)
{

s+=(i%10)*(i%10)*(i%10);
i/=10;
sum++;

}
printf("是%d位数,各位立方和为%d\n",sum,s);

}本回答被提问者采纳
第2个回答  推荐于2018-03-01
#include<stdio.h>
int main()
{
int a;
scanf("%d",&a);
int b[10]={0};
int k=0;
while(a)
{
b[k]=a%10;
a=a/10;
k++;
}
printf("%d\n",k);
int i=0,sum=0;
while(i<=k)
{
sum=sum+b[i]*b[i]*b[i];
i++;
}
printf("%d\n",sum);
}//这样行吗?追问

while(a) b[k]=a%10 由于才疏学浅,这两个不是很懂

追答

这个循环的作用是把一个数一位一位分开并存在数组b中如当a=123 时
第一次循环时 b[0]=3,然后a=12;
第二次循环 b[1]=2;然后a=1;
第三次循环 b[2]=1,然后a=0;
因为a=0所以循环就结束
懂了吗?

追问

很感谢,大概理解了,毕竟还没有学到,所以刚才看的时候不明白

本回答被网友采纳
相似回答