/*水仙花数。输入俩个正整数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无用
悬赏问题
- ¥50 adb连接不到手机是怎么回事?
- ¥15 vs2022无法联网
- ¥15 TCP的客户端和服务器的互联
- ¥15 VB.NET操作免驱摄像头
- ¥15 笔记本上移动热点开关状态查询
- ¥85 类鸟群Boids——仿真鸟群避障的相关问题
- ¥15 CFEDEM自带算例错误,如何解决?
- ¥15 有没有会使用flac3d软件的家人
- ¥20 360摄像头无法解绑使用,请教解绑当前账号绑定问题,
- ¥15 docker实践项目