大学C语言常见的10个练习程序
C语言是大学计算机专业的入门语言之一,通过练习不同的C语言程序可以提高编程能力和理解算法的能力。下面是10个常见的练习程序,它们涵盖了C语言的基本知识和常用算法。
1. 打印"Hello, World!"
这是C语言的经典入门程序,用于验证你的编程环境是否设置正确。
#include <stdio.h>
int main() {
printf("Hello, World!\n");
return 0;
}
2. 输入、输出
编写一个程序,要求用户输入一个整数,然后输出这个整数。
#include <stdio.h>
int main() {
int num;
printf("请输入一个整数:");
scanf("%d", &num);
printf("您输入的整数是:%d\n", num);
return 0;
}
3. 求和
编写一个程序,要求用户输入两个整数,然后输出它们的和。
#include <stdio.h>
int main() {
int num1, num2;
printf("请输入两个整数:");
scanf("%d %d", &num1, &num2);
int sum = num1 + num2;
printf("它们的和是:%d\n", sum);
return 0;
}
4. 判断奇偶性
编写一个程序,要求用户输入一个整数,然后判断它是奇数还是偶数并输出结果。
#include <stdio.h>
int main() {
int num;
printf("请输入一个整数:");
scanf("%d", &num);
if (num % 2 == 0) {
printf("这是一个偶数。\n");
} else {
printf("这是一个奇数。\n");
}
return 0;
}
5. 求平均值
编写一个程序,要求用户输入两个整数,然后计算它们的平均值并输出结果。
#include <stdio.h>
int main() {
int num1, num2;
printf("请输入两个整数:");
scanf("%d %d", &num1, &num2);
double average = (num1 + num2) / 2.0;
printf("它们的平均值是:%lf\n", average);
return 0;
}
6. 计算阶乘
编写一个程序,要求用户输入一个整数,然后计算它的阶乘并输出结果。
#include <stdio.h>
int main() {
int num;
printf("请输入一个整数:");
scanf("%d", &num);
int factorial = 1;
for (int i = 1; i <= num; i++) {
factorial *= i;
}
printf("%d的阶乘是:%d\n", num, factorial);
return 0;
}
7. 实现冒泡排序
编写一个程序,要求用户输入一组整数,然后使用冒泡排序算法对它们进行排序并输出结果。
#include <stdio.h>
void bubbleSort(int arr[], int n) {
for (int i = 0; i < n-1; i++) {
for (int j = 0; j < n-i-1; j++) {
if (arr[j] > arr[j+1]) {
int temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
}
int main() {
int n;
printf("请输入整数个数:");
scanf("%d", &n);
int arr[n];
printf("请输入%d个整数:", n);
for (int i = 0; i < n; i++) {
scanf("%d", &arr[i]);
}
bubbleSort(arr, n);
printf("排序结果如下:");
for (int i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
8. 计算两个数的最大公约数
编写一个程序,要求用户输入两个整数,然后计算它们的最大公约数并输出结果。
#include <stdio.h>
int gcd(int num1, int num2) {
if (num2 == 0) {
return num1;
} else {
return gcd(num2, num1 % num2);
}
}
int main() {
int num1, num2;
printf("请输入两个整数:");
scanf("%d %d", &num1, &num2);
int result = gcd(num1, num2);
printf("它们的最大公约数是:%d\n", result);
return 0;
}
9. 判断素数
编写一个程序,要求用户输入一个整数,然后判断它是否是素数并输出结果。
#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("请输入一个整数:");
scanf("%d", &num);
if (isPrime(num)) {
printf("这是一个素数。\n");
} else {
printf("这不是一个素数。\n");
}
return 0;
}
10. 翻转数组
编写一个程序,要求用户输入一组整数,然后将它们的顺序翻转并输出结果。
#include <stdio.h>
void reverseArray(int arr[], int n) {
int start = 0;
int end = n - 1;
while (start < end) {
int temp = arr[start];
arr[start] = arr[end];
arr[end] = temp;
start++;
end--;
}
}
int main() {
int n;
printf("请输入整数个数:");
scanf("%d", &n);
int arr[n];
printf("请输入%d个整数:", n);
for (int i = 0; i < n; i++) {
scanf("%d", &arr[i]);
}
reverseArray(arr, n);
printf("翻转结果如下:");
for (int i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}