提高项目4-求阶乘函数

来源:互联网 发布:sql安装参数错误 编辑:程序博客网 时间:2024/05/21 04:18

任务和代码:请输出满足条件n=a!+b!+c!的所有三位数n,其中,a、b、c分别是n的百、十、个位数。要求用自定义函数实现求阶乘。

/*文件名:main.c作者:小风景完成日期:2016.6.19问题描述:请输出满足条件n=a!+b!+c!的所有三位数n,其中,a、b、c分别是n的百、十、个位数。要求用自定义函数实现求阶乘:程序输出:满足条件的值*/#include <stdio.h>int fac(int n);int main( ){    int i = 0;    int sum = 0;    int fir = 0;    int sec = 0;    int thr = 0;    //对所有的三位数进行测试    for(i = 100;i < 1000;i++)    {        thr = i / 100;        sec = (i / 10) % 10;        fir = i % 10;        sum = fac(fir) + fac(sec) + fac(thr);        //判断阶乘和与该三位数的值是否相等        if(sum == i)        {            printf("%d",sum);        }    }    printf("\n");    return 0;}int fac(int n){    int sum = 1;    for(;n > 1;n--)    {        sum = sum * n;    }    return sum;}

程序运行结果:



总结:这篇文章重点在于体验函数的单一性,即一个函数尽量只执行一项操作,fac函数只执行了求阶乘的功能。

0 0
原创粉丝点击