「C语言第四次作业」
本资源摘要信息涵盖了C语言第四次作业的主要内容,该作业涵盖了数组的算法和编程方法,包括一维数组、二维数组和字符型数组。
1. 排序算法
在该作业中,我们学习了使用冒泡法对10个整数进行排序。该算法的主要思想是:将数组中的元素两两比较,如果前一个元素大于后一个元素,则交换它们。通过这种方式,我们可以将数组中的元素从小到大排序。
代码实现
```c
#include <stdio.h>
int main() {
int a[10], i, j, k, t;
// 输入10个整数
for (k = 0; k < 10; k++) {
// 排序算法
for (i = 1; i < 10; i++) {
for (j = 0; j < 10 - i; j++) {
if (a[j] > a[j + 1]) {
t = a[j + 1];
a[j + 1] = a[j];
a[j] = t;
}
}
}
}
// 输出排序后的结果
for (i = 0; i < 10; i++) {
printf("%d ", a[i]);
}
return 0;
}
```
2. 十进制转二进制
在该作业中,我们学习了将十进制整数转换成二进制数。该算法的主要思想是:将十进制整数除以2,直到余数为0,然后将余数作为二进制数的各位数字。
代码实现
```c
#include <stdio.h>
int main() {
int a[100], i, j, k;
// 输入十进制整数
int num;
printf("请输入一个十进制数:");
scanf("%d", &num);
// 将十进制整数转换成二进制数
for (i = 0; i < 100; i++) {
a[i] = num % 2;
num /= 2;
}
// 输出二进制数
for (k = i - 1; k >= 0; k--) {
printf("%d", a[k]);
}
return 0;
}
```
3. 矩阵运算
在该作业中,我们学习了矩阵的运算,包括矩阵的加法和矩阵的转置。该算法的主要思想是:将矩阵的元素逐个相加,并将结果存储在一个新的矩阵中。
代码实现
```c
#include <stdio.h>
int main() {
int a[3][3], b[3][3], t[3][3], i, j;
// 输入矩阵的元素
for (i = 0; i <= 2; i++) {
for (j = 0; j <= 2; j++) {
scanf("%d", &a[i][j]);
}
}
// 将矩阵转置
for (i = 0; i <= 2; i++) {
for (j = 0; j <= 2; j++) {
b[j][i] = a[i][j];
}
}
// 矩阵加法
for (i = 0; i <= 2; i++) {
for (j = 0; j <= 2; j++) {
t[i][j] = a[i][j] + b[i][j];
}
}
// 输出结果
for (i = 0; i <= 2; i++) {
for (j = 0; j <= 2; j++) {
printf("%d ", t[i][j]);
}
printf("\n");
}
return 0;
}
```
4. 矩阵的最大值
在该作业中,我们学习了矩阵的最大值的计算。该算法的主要思想是:将矩阵的每一行的元素逐个比较,找到最大值。
代码实现
```c
#include <stdio.h>
int main() {
int a[4][4], i, j, t, MAX;
// 输入矩阵的元素
for (i = 0; i <= 3; i++) {
for (j = 0; j <= 3; j++) {
scanf("%d", &a[i][j]);
}
}
// 计算每一行的最大值
for (i = 0; i <= 3; i++) {
MAX = a[i][0];
for (j = 1; j <= 3; j++) {
if (a[i][j] > MAX) {
t = MAX;
MAX = a[i][j];
a[i][j] = t;
}
}
printf("第%d行的最大值为:%d\n", i + 1, MAX);
}
return 0;
}
```
5. 矩阵的乘法
在该作业中,我们学习了矩阵的乘法。该算法的主要思想是:将矩阵的每一行的元素与一个常数相乘。
代码实现
```c
#include <stdio.h>
int main() {
int a[4][4], i, j, k;
// 输入矩阵的元素
for (i = 0; i <= 3; i++) {
for (j = 0; j <= 3; j++) {
scanf("%d", &a[i][j]);
}
}
// 输入乘数
int n;
printf("请输入一个整数:");
scanf("%d", &n);
// 矩阵乘法
for (i = 0; i <= 3; i++) {
for (j = 0; j <= 3; j++) {
a[i][j] *= n;
}
}
// 输出结果
for (i = 0; i <= 3; i++) {
for (j = 0; j <= 3; j++) {
printf("%d ", a[i][j]);
}
printf("\n");
}
return 0;
}
```
该作业涵盖了数组、矩阵和算法等多个方面的知识点,旨在帮助学生更好地理解和掌握C语言的编程技术。