在深入学习C语言编程的过程中,配套课本的习题是检验学习成果的重要手段。这些习题不仅能够帮助我们巩固所学知识,还能提高编程实战能力。本文将针对一些常见的C语言课本习题进行详尽解答,帮助读者更好地理解和掌握C语言编程。
1. 打印输出
题目:编写一个C语言程序,打印出以下图案:
*
**
***
****
*****
解答:
#include <stdio.h>
int main() {
int i, j;
for (i = 1; i <= 5; i++) {
for (j = 1; j <= i; j++) {
printf("*");
}
printf("\n");
}
return 0;
}
2. 计算阶乘
题目:编写一个C语言程序,计算并打印出5的阶乘。
解答:
#include <stdio.h>
int main() {
int i, result = 1;
for (i = 1; i <= 5; i++) {
result *= i;
}
printf("5的阶乘为:%d\n", result);
return 0;
}
3. 判断素数
题目:编写一个C语言程序,判断一个整数是否为素数。
解答:
#include <stdio.h>
#include <stdbool.h>
bool is_prime(int num) {
if (num <= 1) {
return false;
}
for (int i = 2; i * i <= num; i++) {
if (num % i == 0) {
return false;
}
}
return true;
}
int main() {
int num;
printf("请输入一个整数:");
scanf("%d", &num);
if (is_prime(num)) {
printf("%d是素数\n", num);
} else {
printf("%d不是素数\n", num);
}
return 0;
}
4. 求最大公约数
题目:编写一个C语言程序,求两个整数的最大公约数。
解答:
#include <stdio.h>
int gcd(int a, int b) {
if (b == 0) {
return a;
}
return gcd(b, a % b);
}
int main() {
int num1, num2;
printf("请输入两个整数:");
scanf("%d %d", &num1, &num2);
printf("最大公约数为:%d\n", gcd(num1, num2));
return 0;
}
5. 水仙花数
题目:编写一个C语言程序,找出所有的水仙花数。
解答:
#include <stdio.h>
int main() {
int num, digit, sum, temp;
for (num = 100; num < 1000; num++) {
temp = num;
sum = 0;
while (temp != 0) {
digit = temp % 10;
sum += digit * digit * digit;
temp /= 10;
}
if (sum == num) {
printf("%d是水仙花数\n", num);
}
}
return 0;
}
通过以上习题的解答,相信读者对C语言编程有了更深入的理解。在实际编程过程中,我们要不断练习,总结经验,提高编程能力。希望这些习题的解答能对读者的学习有所帮助。
