以下程序的功能是:输入一个三位数,判断是否为”水仙花数”。函数flower()用以判断一个数是否为”水仙花数”,主函数main()中进行测试。
#include”stdio.h”
int flower(int n)
{ int x=0,i,j,k;
i=(n%10);
j= (n/10/10); ★
k=(n/100);
x=i*i*i+j*j*j+k*k*k;
if(x==n) return 0;
else return 1;
}
void main()
{ int n;
printf(“Please intput n: “);
scanf(“%f”,&n); ★
if(n>999||n<100)
printf(“Input error!!!”);
else
{if(flower(n)) ★
printf(“%d is a flower nubmer!\n”,n);
else
printf(“%d isn’t a flower nubmer!\n”,n);
}
}
答案
j= (n/10/10); 改为: j= (n/10%10);
scanf(“%f”,&n); 改为: scanf(“%d”,&n);
if(flower(n)) 改为: if(!flower(n))
#include<stdio.h>
int flower(int n)
{ int x=0,i,j,k;
i=(n%10);
j= (n/10%10);
k=(n/100);
x=i*i*i+j*j*j+k*k*k;
if(x==n) return 0;
else return 1;
}
void main()
{ int n;
printf(“Please intput n: “);
scanf(“%d”,&n);
if(n>999||n<100)
printf(“Input error!!!”);
else
{if(!flower(n))
printf(“%d is a flower nubmer!\n”,n);
else
printf(“%d isn’t a flower nubmer!\n”,n);
}
}
暂无评论内容