以下程序运行后为什么无法显示正确的“水仙数”?

所谓“水仙花数”是指一个3位数,其各位数字立方和等于该数本身。

#include <stdio.h>
int main()
{
	int a,b,c,m;
	printf("Please enter m=");
	for(m=100;m<1000;m++)
	{
		a=m/100;
		b=m/10%10;
		c=m%10;
		if (a*a*a+b*b*b+c*c*c==m);
		printf("%d\n",m);
		
	}
	return 0;
}

或者将程序改为

#include <stdio.h>
int main()
{
	int a,b,c,m;
	printf("Please enter m=");
	for(m=100;m<1000;m++)
	{
		a=m/100;
		b=(m-a*100)/10;
		c=m-a*100-b*10;
		if (a*a*a+b*b*b+c*c*c==m);
		printf("%d\n",m);
		
	}
	return 0;
}

两个程序的运行结果都是从702到999,不能输出正确的结果

Rebellious_2016
浏览 1122回答 1
1回答

这都不会

if后面没有分号!你把if (a*a*a+b*b*b+c*c*c==m);改为if (a*a*a+b*b*b+c*c*c==m)即可运行正确。
打开App,查看更多内容
随时随地看视频慕课网APP