C语言期末考试编程题:水仙花数和阶乘求和

需积分: 25 0 下载量 154 浏览量 更新于2024-03-15 收藏 46KB DOC 举报
C语言期末考试编程题包括两道题目。第一道题目要求打印出所有的“水仙花数”,即一个三位数,其各位数字立方和等于该数本身。例如,153是一个“水仙花数”,因为1^3 + 5^3 + 3^3 = 153。解题思路是利用循环遍历所有三位数,分别提取出个位、十位和百位数字,然后判断是否符合水仙花数的条件,最后按照一行5个的格式输出。第二道题目是求1!+2!+3!+...+20!的和。解题思路是通过循环计算每个数的阶乘并累加到总和中,最后输出结果。 第一道题目的代码如下: ```c #include <stdio.h> void main(){ int a, b, c, s, i=0; for(s=100; s<1000; s++){ c = s % 10; b = s / 10 % 10; a = s / 100; if(s == a*a*a + b*b*b + c*c*c){ printf("%d\t", s); i++; if(i % 5 == 0) printf("\n"); } } } ``` 第二道题目的代码如下: ```c #include <stdio.h> void main(){ double fact = 1.0, sum = 0.0; int i, j; for(i=1; i<=20; i++){ fact = 1.0; for(j=1; j<=i; j++){ fact *= j; } sum += fact; } printf("1! + 2! + 3! + ... + 20! = %.0f\n", sum); } ``` 以上是两道C语言期末考试编程题的解题思路和代码,分别实现了输出水仙花数和计算阶乘和的功能。