1.C
对一维数组初始化时,如果全部元素都赋了初值,可以省略数组长度。
这里没有指定数组长度,编译器会根据初始化列表的元素个数来确定数组长度。
2.C
在C语言中,字符数组是不能用赋值运算符直接赋值的。
3.C
在二维数组a中,如果有m列,那么在a[i][j]之前的元素个数为i * m + j。
4.C
使用for循环,从数组的第一个元素开始,到数组长度的一半为止。在每次循环中,它将当前元素与数组的最后一个元素交换。这样,前一半的元素就被移动到了数组的后半部分,而原来的后半部分元素被移动到了前面。
5.
1 2 3
4 5 6
这个程序首先定义了一个二维数组a,其中包含三个长度为2的一维数组。然后使用两个嵌套循环来遍历这个二维数组的所有元素。外层循环从0到1(不包括2),内层循环从0到2(不包括3)。在每次内层循环中,它都会打印出当前元素的值,并在每个元素之间添加一个制表符(\t)。当内层循环结束后,外层循环会换行并继续进行下一次迭代。
6.
#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;
}
7.
#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;
}
8.
#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;
}