大一C语言作业 12.8

1.C

对一维数组初始化时,如果全部元素都赋了初值,可以省略数组长度。

这里没有指定数组长度,编译器会根据初始化列表的元素个数来确定数组长度。

2.C

在C语言中,字符数组是不能用赋值运算符直接赋值的。

3.C

在二维数组a中,如果有m列,那么在a[i][j]之前的元素个数为i * m + j。

4.C

使用for循环,从数组的第一个元素开始,到数组长度的一半为止。在每次循环中,它将当前元素与数组的最后一个元素交换。这样,前一半的元素就被移动到了数组的后半部分,而原来的后半部分元素被移动到了前面。

1 2 3

4 5 6

这个程序首先定义了一个二维数组a,其中包含三个长度为2的一维数组。然后使用两个嵌套循环来遍历这个二维数组的所有元素。外层循环从0到1(不包括2),内层循环从0到2(不包括3)。在每次内层循环中,它都会打印出当前元素的值,并在每个元素之间添加一个制表符(\t)。当内层循环结束后,外层循环会换行并继续进行下一次迭代。

cs 复制代码
#include <stdio.h>

// 定义一个函数,用于计算数组中的最低分
int find_min(int scores[], int n) {
    int min = scores[0];
    for (int i = 1; i < n; i++) {
        if (scores[i] < min) {
            min = scores[i];
        }
    }
    return min;
}

int main() {
    int n;
    printf("请输入学生的数量: ");
    scanf("%d", &n);
    
    int scores[n];
    printf("请输入%d个学生的分数:\n", n);
    for (int i = 0; i < n; i++) {
        scanf("%d", &scores[i]);
    }
    
    int min_score = find_min(scores, n);
    printf("最低分为: %d\n", min_score);
    
    return 0;
}
cs 复制代码
#include <stdio.h>

// 定义一个函数,用于对数组中的元素进行冒泡排序
void bubble_sort(double 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]) {
                double temp = arr[j];
                arr[j] = arr[j+1];
                arr[j+1] = temp;
            }
        }
    }
}

int main() {
    double scores[10];
    printf("请输入10个学生的分数:\n");
    for (int i = 0; i < 10; i++) {
        scanf("%lf", &scores[i]);
    }
    
    bubble_sort(scores, 10);
    
    printf("排序后的成绩为:\n");
    for (int i = 0; i < 10; i++) {
        printf("%.2f ", scores[i]);
    }
    printf("\n");
    
    return 0;
}
cs 复制代码
#include <stdio.h>

int main() {
    int m, n;
    scanf("%d %d", &m, &n);
    
    int a[m][n];
    for (int i = 0; i < m; i++) {
        for (int j = 0; j < n; j++) {
            scanf("%d", &a[i][j]);
        }
    }
    
    int sum = 0;
    for (int i = 0; i < n; i++) {
        sum += a[0][i]; // 首行
        sum += a[m-1][i]; // 末行
    }
    for (int i = 0; i < m; i++) {
        sum += a[i][0]; // 首列
        sum += a[i][n-1]; // 末列
    }
    
    printf("周边元素之和为: %d\n", sum);
    
    return 0;
}
相关推荐
黎明smaly4 分钟前
【排序】插入排序
c语言·开发语言·数据结构·c++·算法·排序算法
LIN-JUN-WEI2 小时前
[ESP32]VSCODE+ESP-IDF环境搭建及blink例程尝试(win10 win11均配置成功)
c语言·开发语言·ide·vscode·单片机·学习·编辑器
艾莉丝努力练剑4 小时前
【C语言】学习过程教训与经验杂谈:思想准备、知识回顾(三)
c语言·开发语言·数据结构·学习·算法
黑听人4 小时前
【力扣 困难 C】115. 不同的子序列
c语言·leetcode
看到我,请让我去学习10 小时前
OpenCV编程- (图像基础处理:噪声、滤波、直方图与边缘检测)
c语言·c++·人工智能·opencv·计算机视觉
倔强的小石头_12 小时前
【C语言指南】函数指针深度解析
java·c语言·算法
jz_ddk18 小时前
[学习] C语言数学库函数背后的故事:`double erf(double x)`
c语言·开发语言·学习
无小道19 小时前
c++-引用(包括完美转发,移动构造,万能引用)
c语言·开发语言·汇编·c++
FirstFrost --sy21 小时前
数据结构之二叉树
c语言·数据结构·c++·算法·链表·深度优先·广度优先
森焱森21 小时前
垂起固定翼无人机介绍
c语言·单片机·算法·架构·无人机