为了帮助你完成C语言的期末考试编程题,以下是一些可能出现的题目及其解答方法:
打印水仙花数
题目:打印出所有的“水仙花数”,并按照一行5个的格式输出。所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。
解答:
```c
include int main() { int a, b, c, s, i = 0; for (s = 100; s <= 999; s++) { c = s % 10; b = s / 10 % 10; a = s / 100; if (s == a * a * a + b * b * b + c * c * c) { printf("%d ", s); i++; if (i % 5 == 0) { printf("\n"); } } } return 0; } ``` 题目:求1+2!+3!+…+20!的和。 解答: ```c include int main() { double fac = 1.0, sum = 0.0; int i; for (i = 1; i <= 20; i++) { fac *= i; sum += fac; } printf("%.0f\n", sum); return 0; } ``` 题目:输入一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。 解答: ```c include int main() { long num; printf("Please input the number: "); scanf("%ld", &num); int a = num / 10000; int b = num / 1000 % 10; int c = num / 100 % 10; int d = num / 10 % 10; int e = num % 10; if (a == e && b == d) { printf("The number is a palindrome.\n"); } else { printf("The number is not a palindrome.\n"); } return 0; } ``` 题目:读入一篇英文文章,然后统计其中的单词数来输出。需要统计的数据为:总的单词数量;含有1个字母到10个字母的单词的数量。单词和单词的间隔是由以下标点符号形成的:空格、tab、回车换行、逗号、句号、问号、括号、双引号和冒号。这些符号不能被计入单词的长度中。 解答: ```c include include include int main() { char ch; int word_count = 0, single_digit_word_count = 0; int in_word = 0; while ((ch = getchar()) != EOF) { if (isspace(ch)) { if (in_word) { in_word = 0; word_count++; } } else { in_word = 1; if (ch >= 'a' && ch <= 'z') { single_digit_word_count++; } } } printf("%d %d\n", word_count, single_digit_word_count); return 0; } ``` 题目:判断素数或输出某个范围内的素数。 解答:求阶乘和
判断回文数
统计单词数
判断素数