社区讨论

C语言站外题,萌新求助大佬!

题目总版参与者 5已保存回复 21

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
21 条
当前快照
1 份
快照标识符
@m2yr3ho3
此快照首次捕获于
2024/11/01 21:08
去年
此快照最后确认于
2025/11/05 01:34
4 个月前
查看原帖

试题描述

输出所有的“水仙花数”。所谓的水仙花数是一个3位数,其各位数字立方和等于该数本身。例如,153是水仙花数,因为153 = 13 + 53 + 33。 请编程计算并从小到大输出所有水仙花数。

输入

无输入。

输出

输出若干行,每个水仙花数占一行。

数据范围

我的代码哪里有纰漏问题吗?为啥拿不了满分,只得了20分。
输出为int范围的整数
C
#include<stdio.h>
#include<math.h>
int main ()
{
	for(int i=100;i<=999;i++){
		int a,b,c;
		a=i/100;
		b=((i/10))%10;
		c=i%10;
		int sum=pow(a,3)+pow(b,3)+pow(c,3);
		if(sum==i){
			printf("%d\n",i);
		}
	}
	return 0;
}

回复

21 条回复,欢迎继续交流。

正在加载回复...