作业

15 阅读2分钟

简答题

一维数组的初始化方式有3种:

  1. 完全初始化:直接给出所有元素值,比如 int arr[] = {1,2,3};(长度自动为3)

  2. 部分初始化:只给部分元素值,剩余元素自动为0,比如 int arr[5] = {1,2};(后3个元素为0)

  3. 指定长度初始化:先声明长度再赋值,比如 int arr[3]; arr[0] = 1; arr[1] = 2; arr[2] = 3;

编程题

  1. 输入6个整数并找最大值
#include 

int main() {
    int arr[6];
    // 输入6个整数
    printf("请输入6个整数:\n");
    for (int i = 0; i < 6; i++) {
        scanf(&#34;%d&#34;, &arr[i]);
    }
    // 找最大值
    int max = arr[0];
    for (int i = 1; i < 6; i++) {
        if (arr[i] > max) {
            max = arr[i];
        }
    }
    // 输出最大值
    printf(&#34;最大值为:%d\n&#34;, max);
    return 0;
}
  1. 输入6个整数并冒泡排序
#include 
int main() {
    int arr[6];
    // 输入6个整数
    printf(&#34;请输入6个整数:\n&#34;);
    for (int i = 0; i < 6; i++) {
        scanf(&#34;%d&#34;, &arr[i]);
    }
    // 冒泡排序
    for (int i = 0; i < 5; i++) { // 排序轮次
        for (int j = 0; j < 5 - i; j++) { // 每轮比较次数
            if (arr[j] > arr[j + 1]) {
                // 交换元素
                int temp = arr[j];
                arr[j] = arr[j + 1];
                arr[j + 1] = temp;
            }
        }
    }
    // 输出排序后数组
    printf(&#34;排序后:&#34;);
    for (int i = 0; i < 6; i++) {
        printf(&#34;%d &#34;, arr[i]);
    }
    printf(&#34;\n&#34;);
    return 0;
}
  1. 4×4矩阵转置
#include 

int main() {
    int matrix[4][4];
    // 输入4×4矩阵
    printf(&#34;请输入44列矩阵:\n&#34;);
    for (int i = 0; i < 4; i++) {
        for (int j = 0; j < 4; j++) {
            scanf(&#34;%d&#34;, &matrix[i][j]);
        }
    }
    // 矩阵转置
    for (int i = 0; i < 4; i++) {
        for (int j = i + 1; j < 4; j++) {
            int temp = matrix[i][j];
            matrix[i][j] = matrix[j][i];
            matrix[j][i] = temp;
        }
    }
    // 输出转置后的矩阵
    printf(&#34;转置后的矩阵:\n&#34;);
    for (int i = 0; i < 4; i++) {
        for (int j = 0; j < 4; j++) {
            printf(&#34;%d &#34;, matrix[i][j]);
        }
        printf(&#34;\n&#34;);
    }
    return 0;
}