在学习编程的过程中,扎实的基础知识是必不可少的。对于初学者来说,通过大量的练习可以更好地掌握所学的知识点。以下是几道C语言的基础练习题及其答案,供学习者参考。
题目一:求两个数的最大公约数
编写一个程序,输入两个正整数m和n,输出它们的最大公约数。
```c
include
int main() {
int m, n;
printf("请输入两个正整数:");
scanf("%d %d", &m, &n);
// 使用辗转相除法求最大公约数
while (n != 0) {
int temp = m % n;
m = n;
n = temp;
}
printf("最大公约数为:%d\n", m);
return 0;
}
```
答案:
程序使用了辗转相除法来计算最大公约数,最终输出的结果即为所求。
题目二:判断素数
编写一个程序,判断用户输入的一个整数是否为素数。
```c
include
include
int main() {
int num, i;
printf("请输入一个整数:");
scanf("%d", &num);
if (num <= 1) {
printf("%d 不是素数。\n", num);
return 0;
}
for (i = 2; i <= sqrt(num); i++) {
if (num % i == 0) {
printf("%d 不是素数。\n", num);
return 0;
}
}
printf("%d 是素数。\n", num);
return 0;
}
```
答案:
程序通过遍历从2到sqrt(num)的所有整数,检查是否存在能整除num的数。如果存在,则num不是素数;否则,num是素数。
题目三:打印九九乘法表
编写一个程序,打印出完整的九九乘法表。
```c
include
int main() {
int i, j;
for (i = 1; i <= 9; i++) {
for (j = 1; j <= i; j++) {
printf("%d%d=%d\t", j, i, i j);
}
printf("\n");
}
return 0;
}
```
答案:
程序使用双重循环,外层循环控制行数,内层循环控制每行的列数,最终输出九九乘法表。
题目四:数组排序
编写一个程序,对用户输入的一组整数进行从小到大的排序。
```c
include
void sortArray(int arr[], int size) {
int i, j, temp;
for (i = 0; i < size - 1; i++) {
for (j = 0; j < size - i - 1; j++) {
if (arr[j] > arr[j + 1]) {
temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
}
int main() {
int arr[100], size, i;
printf("请输入数组元素个数:");
scanf("%d", &size);
printf("请输入数组元素:");
for (i = 0; i < size; i++) {
scanf("%d", &arr[i]);
}
sortArray(arr, size);
printf("排序后的数组为:\n");
for (i = 0; i < size; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
```
答案:
程序使用冒泡排序算法对数组中的元素进行排序,并输出排序后的结果。
以上练习题涵盖了C语言中的基本语法、控制结构以及数组操作等内容,希望对大家的学习有所帮助。通过不断练习,相信你的编程能力会得到显著提升!