1. 课程概述
东北大学C语言课程是计算机科学与技术专业的基础课程之一,旨在帮助学生掌握C语言的基本语法、编程技巧和算法设计。通过学习这门课程,学生可以为进一步学习计算机科学打下坚实的基础。
2. 习题详解
2.1 习题一:计算阶乘
题目描述:编写一个C语言程序,计算给定正整数的阶乘。
代码示例:
#include <stdio.h>
int main() {
int n, result = 1;
printf("请输入一个正整数:");
scanf("%d", &n);
for (int i = 1; i <= n; i++) {
result *= i;
}
printf("%d的阶乘为:%d\n", n, result);
return 0;
}
解题思路:通过循环计算从1到n的乘积,即可得到n的阶乘。
2.2 习题二:判断素数
题目描述:编写一个C语言程序,判断给定正整数是否为素数。
代码示例:
#include <stdio.h>
#include <stdbool.h>
bool is_prime(int n) {
if (n <= 1) {
return false;
}
for (int i = 2; i * i <= n; i++) {
if (n % i == 0) {
return false;
}
}
return true;
}
int main() {
int n;
printf("请输入一个正整数:");
scanf("%d", &n);
if (is_prime(n)) {
printf("%d是素数\n", n);
} else {
printf("%d不是素数\n", n);
}
return 0;
}
解题思路:通过判断n是否能被2到√n之间的任意整数整除,来确定n是否为素数。
2.3 习题三:冒泡排序
题目描述:编写一个C语言程序,实现冒泡排序算法,对一组整数进行排序。
代码示例:
#include <stdio.h>
void bubble_sort(int arr[], int len) {
for (int i = 0; i < len - 1; i++) {
for (int j = 0; j < len - 1 - i; j++) {
if (arr[j] > arr[j + 1]) {
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
}
int main() {
int arr[] = {5, 2, 8, 3, 1};
int len = sizeof(arr) / sizeof(arr[0]);
bubble_sort(arr, len);
printf("排序后的数组:");
for (int i = 0; i < len; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
解题思路:通过比较相邻元素的大小,将较大的元素交换到后面,实现数组的排序。
3. 总结
通过以上习题的讲解,相信你已经对东北大学C语言课程习题有了更深入的了解。在学习过程中,要注重理论与实践相结合,多动手实践,不断提高自己的编程技巧。祝你学习顺利!
