好久没弄C语言了,也不知道什么是水仙花数,你的程序应该是少了两个大括号导致的
换成下面的代码试试。没有大括号默认的执行范围是下面一行
也就是说你的循环只是作用在 gw=i%10;
#include
void main()
{
int m,n,gw,sw,bw,i;
printf("输入两个正整数:");
scanf("%d%d",&m,&n);
for(i=m;i<=n;i++)
{
gw=i%10;
bw=i/100;
sw=i%100/10;
if(i==gw*gw*gw+sw*sw*sw+bw*bw*bw)
printf("%d\n",i);
}
}
#include "stdio.h"
#include "conio.h"
main()
{
int i,j,k,n;
printf("'water flower'number is:");
for(n=100;n<1000;n++)
{
i=n/100;/*分解出百位*/
j=n/10%10;/*分解出十位*/
k=n%10;/*分解出个位*/
if(i*100+j*10+k==i*i*i+j*j*j+k*k*k)
printf("%-5d",n);
}
getch();
}
TC 通过编译 希望能够帮到你
你的程序没有结果是因为你的for(i=m;i<=n;i++)这句后面没有{};
你的程序应改为:
#include
void main()
{
int m,n,gw,sw,bw,i;
printf("输入两个正整数:");
scanf("%d%d",&m,&n);
for(i=m;i<=n;i++) { /*缺少大括号*/
gw=i%10;
bw=i/100;
sw=i%100/10;
if(i==gw*gw*gw+sw*sw*sw+bw*bw*bw)
printf("%d\n",i); }/*缺少大括号*/
}
你for语句没有加{},只执行了gw=i%10 这一句话。
还有,水仙花数只是三位数吧。