请教VC++高手指教水仙花编程问题!!!!!!!!

来源:百度知道 编辑:UC知道 时间:2024/05/29 04:00:49
//编程求所有水仙花数,所谓水仙花数是指一个三位数,其各位数字的立方和
//等于该数本身。例如:153是水仙花数,因为153=1*1*1+5*5*5+3*3*3

#include <iostream>
using namespace std;
bool When_data (int);
int main()
{
cout << "所有的水仙花数如下:"
<< endl
<< "========================"
<< endl;
for (int n =100; n < 1000; n++) //遍历所有三位数
{
if (When_data (n))
cout << n
<< '\t';
}
int n; //次两行代码为查看结果而设
cin >> n;
return 0;
}
//=====================================================
bool When_data (int data_n) //判断是否是水仙花数
{
int data[2];
int Sun_data = 0;
data[0] = data_n % 10; //将三位数字的各位数字分离

#include <iostream>
using namespace std;
bool When_data (int);
int main()
{
cout << "所有的水仙花数如下:"
<< endl
<< "========================"
<< endl;
for (int n =100; n < 1000; n++) //遍历所有三位数
{
if (When_data (n))
cout << n
<< '\t';
}
//int n; //次两行代码为查看结果而设 ////::------ 为什么喜欢这样...
//cin >> n;
return 0;
}
//=====================================================
bool When_data (int data_n) //判断是否是水仙花数
{
int data[3]; ////::------ data[3]
int Sun_data = 0;
data[0] = data_n % 10; //将三位数字的各位数字分离
data[1] = (data_n % 100 ) / 10;
data[2] = data_n / 100;
for (int n = 0; n < 3; n++) //计算三位数字的立方和
{
int Pro = 1;
for (int m = 0; m < 3; m++)
{
Pro = Pro * data[n];
}
Sun_data = Sun_data + Pro;
}
if (data_n !