/*水仙花数。输入俩个正整数m和n(m>=1,n<=1000),输出m~n之间的所有水仙花数。
水仙花数是指各位上数字的立方和等于其自身的数。
例如,153的 各位上数字的立方和是1的三次方+ 5的三次方+3的三次方=153.*/
#include<stdio.h>
int main()
{
int i,t,s,m,n,digit;
prinyf("Input m:");
scanf("%d",&m);
printf("Input m:");
scanf("%d",&n);
for(i=m;i<=n;i++)
{
t=i;
s=0;
while(t!=0)
{
digit=t%10;
s+=digit*digit*digit;
t=t/10;
}
if(t==i)
printf("%d\n",i);
}
return 0;
}

c语言,水仙花数,哪里有问题?求指出
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
4条回答 默认 最新
- 社区专家-Monster-XH 2023-03-01 18:41关注
基于Monster 组和GPT的调写:
代码中存在几个问题:在第5行代码中,printf函数的拼写有误,应该是printf而不是prinyf。
在第7行代码中,第二个scanf函数的提示信息也应该是"Input n:"而不是"Input m:"。
在第17行代码中,判断条件应该是s==i而不是t==i。#include <stdio.h> int main() { int i,t,s,m,n,digit; printf("Input m:"); scanf("%d",&m); printf("Input n:"); scanf("%d",&n); for(i=m;i<=n;i++) { t=i; s=0; while(t!=0) { digit=t%10; s+=digit*digit*digit; t=t/10; } if(s==i) printf("%d\n",i); } return 0; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用