1. C;可以省略数组长度
2. C;字符串的赋值应该使用strcpy函数,而不能使用赋值运算符
3. C;
4. A;
5. 输出如下
1 2 3
3 4 5
解释:因为数组创建输入时为3行2列,输出时却是2行3列,a[0][2]
和a[1][2]由于越界被下一位的地址的值给补上,输出了3和5。
6.
#include <stdio.h>
int paixu(int x[], int n) {
int i, min = x[0];
for (i = 0; i < n; i++) {
if (x[i] < min) {
min = x[i];
}
}
return min;
}
int main() {
int n, i = 0, min = 0;
scanf("%d", &n); //设定数组中元素数量
int y[n];
for (i = 0; i < n; i++) {
scanf("%d", &y[i]);
}
min = paixu(y, n);
printf("%d", min);
return 0;
}
7.
#include <stdio.h>
void huang(double score[], int n) {
int i,j;
double temp;
for (i = 0; i < n-1; i++) {
for (j = i+1; j < n ;j++) {
if (score[j] < score[i]) {
temp = score[j];
score[j] = score[i];
score[i] = temp;
}
}
}
}
int main() {
int num, min, i, num2;
scanf("%d", &num);
double arr[100];
for (i = 0; i < num; i++) {
scanf("%lf", &arr[i]);
}
huang(arr, num);
for (int i = 0; i < num; i++) {
printf("%lf ", arr[i]);
}
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;
}