在C语言编程中,穷举法是一种简单但有效的算法设计方法。它通过逐一尝试所有可能的解,直到找到满足条件的解为止。这种方法在解决某些特定问题时非常实用,尤其是在问题规模不是很大的情况下。本文将为你带来50个经典练习题,通过这些题目,你可以挑战自己的逻辑思维能力,并加深对C语言编程的理解。
1. 打印斐波那契数列
斐波那契数列是一个著名的数列,每一项都是前两项的和。编写一个C程序,打印出斐波那契数列的前N项。
#include <stdio.h>
int main() {
int n, i, first = 0, second = 1, next;
printf("Enter the number of terms: ");
scanf("%d", &n);
printf("Fibonacci Series: ");
for (i = 0; i < n; i++) {
if (i <= 1) {
next = i;
} else {
next = first + second;
first = second;
second = next;
}
printf("%d ", next);
}
return 0;
}
2. 判断质数
编写一个C程序,判断一个给定的数是否为质数。
#include <stdio.h>
#include <stdbool.h>
bool isPrime(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("Enter a number: ");
scanf("%d", &num);
if (isPrime(num)) {
printf("%d is a prime number.\n", num);
} else {
printf("%d is not a prime number.\n", num);
}
return 0;
}
3. 计算阶乘
编写一个C程序,计算一个给定整数的阶乘。
#include <stdio.h>
long long factorial(int n) {
long long fact = 1;
for (int i = 2; i <= n; i++) {
fact *= i;
}
return fact;
}
int main() {
int num;
printf("Enter a number: ");
scanf("%d", &num);
printf("Factorial of %d is %lld\n", num, factorial(num));
return 0;
}
4. 判断闰年
编写一个C程序,判断一个给定的年份是否为闰年。
#include <stdio.h>
bool isLeapYear(int year) {
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
return true;
}
return false;
}
int main() {
int year;
printf("Enter a year: ");
scanf("%d", &year);
if (isLeapYear(year)) {
printf("%d is a leap year.\n", year);
} else {
printf("%d is not a leap year.\n", year);
}
return 0;
}
5. 求最大公约数
编写一个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, result;
printf("Enter two numbers: ");
scanf("%d %d", &num1, &num2);
result = gcd(num1, num2);
printf("GCD of %d and %d is %d\n", num1, num2, result);
return 0;
}
…(更多练习题)
以上是5个C语言穷举法编程实战练习题,每个题目都配有详细的代码示例。通过这些练习题,你可以提高自己的逻辑思维能力,并掌握C语言编程中的穷举法技巧。接下来,我们继续挑战剩下的45个题目。
练习题6-10
- 编写一个C程序,计算一个三位数的各位数之和。
- 编写一个C程序,判断一个字符串是否为回文。
- 编写一个C程序,找出一个数组中的最大值和最小值。
- 编写一个C程序,计算一个字符串的长度。
- 编写一个C程序,将一个十进制数转换为二进制数。
练习题11-15
- 编写一个C程序,判断一个数是否为偶数。
- 编写一个C程序,计算一个整数的平方根。
- 编写一个C程序,找出一个数组中的所有素数。
- 编写一个C程序,计算一个数的阶乘。
- 编写一个C程序,判断一个数是否为完美数。
…(更多练习题)
继续挑战剩下的题目,相信你会从中受益匪浅。穷举法编程是一种基础但实用的技能,希望你在练习中不断提高自己的编程水平。祝你编程愉快!
