·用C语言求水仙花数!请高手检查!老是运行后没任何结果!

来源:百度知道 编辑:UC知道 时间:2024/06/01 23:45:54
#include<stdio.h>
void main()
{
int ,s,sum=0,i;
for(i=1;i<=1000;i++)
{
do {
s=n%10;
n=n/10;
sum=sum+s*s*s;
}
while(n!=0);
if(i==sum);
printf("%d",sum);
}
大家对不起额!n全改为i!

你的n是在哪定义的?初值在哪赋的?你的右花括号好像少一个。
还有if(i==sum); 这里不用分号。

#include<stdio.h>
void main()
{
int n,s,sum,i;
for(i=1;i<=1000;i++)
{
sum=0;
n=i;
do {
s=n%10;
n=n/10;
sum=sum+s*s*s;
}
while(n!=0);
if(i==sum)
printf("%d\n",sum);
}
}

好像if(i==sum); 的逗号多了应该去掉

可以利用getchar()函数让程序调试运行结束后等待编程者按下键盘才返回编辑界面,用法:在主函数结尾,return 0;之前加上getchar();即可

水仙花是三朵。
先定义 a,b,c.分别代表个位十位百位。
然后定a*a*a+b*b*b+c*c*c==m
可是楼主似乎只定义了两个数。。。

按你写的改了一下。

#include<stdio.h>
void main() {
int n,s,i,sum;
for(i=1;i<=1000;i++){
sum=0; /*每次开始的时候都得重置sum*/
n=i; /*n你总得会明白的吧*/
do {
s=n%10;
n=n/10;
sum=sum+s*s*s;
}while(n!=0);
if(i==sum)printf("%d\n",sum);
}
}<