一,程序及代码
/*
*文件名称:7
*作 者:罗文
*完成日期:2016年6月5日
*版 本 号:v1.0
*对任务的求解方法及描述部分:
*输入描述:int n,a,b,c,d;
*问题描述:请输出满足条件n=a!+b!+c!的所有三位数n,其中,a、b、c分别是n的百、十、个位数。要求用自定义函数实现求阶乘。
*程序输出: cout<<"符合的特殊的三位数有:"<<n<<endl;
*问题分析: 略
*算法设计:for语句
*/
#include<iostream>
using namespace std;
int f(int x)
{
int i,j;
j=1;
for(i=1;i<=x;i++)
{
j=j*i;
}
return j;
}
int main()
{
int n,a,b,c,d;
for(n=100;n<=999;n++)
{
a=n/100;
b=n/10%10;
c=n%10;
d=f(a)+f(b)+f(c);
if(n==d)
cout<<"符合的特殊的三位数有:"<<n<<endl;
}
return 0;
}
二,实验结果
三,心得体会:多注意些细节,相比之前的程序复杂许多
四,知识点总结:定义函数时注意变量x的插入