😸😸😸 zyz2025.12.10: 😸😸😸
😼 1.请编写程序实现以下功能 😼
😼 2.请编写程序实现以下功能 😼
😼 3.阵转置是线性代数的基本运算,就是将矩阵的行、列交换,即将行变成列,将列变成行。要求编写程序,实现输入一个 4 行 4 列的矩阵,将矩阵转置后输出。 😼
🐲 1. 请编写程序实现以下功能: 🐲
🐲 (1)从键盘输入 6 个整数。 🐲
🐲 (2)找出这 6 个整数中的最大值,并将其输出到控制台。 🐲
🦭 (一)代码如下: 🦭
#include
int main() {
int num[6];
int max;
printf("请输入6个整数:\n");
// 输入6个整数
for (int i = 0; i < 6; i++) {
scanf("%d", &num[i]);
}
// 假设第一个数是最大值,依次比较
max = num[0];
for (int i = 1; i < 6; i++) {
if (num[i] > max) {
max = num[i];
}
}
printf("最大值是:%d\n", max);
return 0;
}
🦭 (二)运行结果如下: 🦭
🦭 (三)所涉及到的知识(ai生成): 🦭
一、编程题 1(输入 6 个整数找最大值)核心知识点
- C 语言基本输入输出:
printf()(控制台输出)、scanf()(键盘输入)的使用,注意scanf接收整型数据时需传入变量地址(&符号)。 - 数组基础:一维数组的定义(
int num[6])、数组下标访问(从 0 开始),利用数组存储多个同类型数据。 - 循环结构:
for循环的语法及应用(遍历数组完成输入、遍历数组比较元素)。 - 条件判断:
if语句的使用(比较数组元素大小,更新最大值)。 - 变量初始化与赋值:最大值变量
max的初始化(需先赋值为数组首个元素,避免随机值)。
🦖 2.请编写程序实现以下功能: 🦖
🦖 (1)从键盘输入 6 个整数。 🦖
🦖 (2)使用冒泡排序法将这 6 个整数从小到大排序。 🦖
🦈 (一)代码如下: 🦈
#include
int main() {
int num[6];
int temp;
printf("请输入6个整数:\n");
// 输入6个整数
for (int i = 0; i < 6; i++) {
scanf("%d", &num[i]);
}
// 冒泡排序:相邻元素比较交换,大的“冒泡”到后面
for (int i = 0; i < 5; i++) { // 最多需要5轮排序
for (int j = 0; j < 5 - i; j++) { // 每轮少比较已排好的元素
if (num[j] > num[j + 1]) {
temp = num[j];
num[j] = num[j + 1];
num[j + 1] = temp;
}
}
}
// 输出排序后的结果
printf("排序后的结果(从小到大):");
for (int i = 0; i < 6; i++) {
printf("%d ", num[i]);
}
printf("\n");
return 0;
}
🦈 (二)运行结果如下: 🦈
🦈 (三)所涉及到的知识(ai生成): 🦈
二、编程题 2(6 个整数冒泡排序)核心知识点
- 一维数组进阶:数组的遍历、元素交换(借助临时变量
temp实现两个数组元素值互换)。 - 嵌套循环:双层
for循环的逻辑(外层控制排序轮数,内层控制每轮比较 / 交换次数)。 - 冒泡排序算法原理:相邻元素两两比较,将较大元素逐步 “冒泡” 到数组末尾,理解排序的核心逻辑(每轮排序后,末尾的 i 个元素已确定顺序,无需重复比较)。
- 输入输出优化:批量数据输入后的格式化输出(排序结果的空格分隔、换行处理)。
🙀 3.矩阵转置是线性代数的基本运算,就是将矩阵的行、列交换,即将行变成列,将列变成行。要求编写程序,实现输入一个 4 行 4 列的矩阵,将矩阵转置后输出。 🙀
🦝 (一)代码如下: 🦝
#include
int main() {
int matrix[4][4];
int transposed[4][4];
printf("请输入4行4列的矩阵(每行输入4个整数):\n");
// 输入原矩阵
for (int i = 0; i < 4; i++) {
for (int j = 0; j < 4; j++) {
scanf("%d", &matrix[i][j]);
}
}
// 矩阵转置:将matrix[i][j]赋值给transposed[j][i]
for (int i = 0; i < 4; i++) {
for (int j = 0; j < 4; j++) {
transposed[j][i] = matrix[i][j];
}
}
// 输出转置后的矩阵
printf("转置后的矩阵:\n");
for (int i = 0; i < 4; i++) {
for (int j = 0; j < 4; j++) {
printf("%d ", transposed[i][j]);
}
printf("\n");
}
return 0;
}
🦝 (二)运行结果如下: 🦝
🦝 (三)所涉及到的知识(ai生成): 🦝
三、编程题 3(4x4 矩阵转置)核心知识点
- 二维数组:二维数组的定义(
int matrix[4][4])、下标访问(matrix[i][j]表示第 i 行第 j 列元素),二维数组的输入输出(双层循环遍历行和列)。 - 矩阵转置逻辑:理解 “行变列、列变行” 的数学规则,即转置后矩阵的
transposed[j][i] = 原矩阵的matrix[i][j]。 - 数据存储与赋值:借助第二个二维数组存储转置后的矩阵,掌握不同数组间的元素赋值操作。
- 循环嵌套的灵活应用:双层循环遍历二维数组的行和列,区分 “输入原矩阵”“转置计算”“输出转置矩阵” 三个阶段的循环逻辑差异。