1.C
2.C reason: str代表数组起始地址,不能被赋值
3.C
4.C
5.输出结果如下
1 2 3
3 4 5
二维数组定义三行两列,给出初始化数值,按顺序排序。但在输出时列数超出下标,数组越界。编译器自动调整。
6.
#include<stdio.h>
const int N = 10;
int Find(int a[],int N);
int main(){
int a[N];
int i;
for(i=0;i<10;i++){
scanf("%d",&a[i]);
}
Find(a,N);
return 0;
}
int Find(int a[],int N){
int min,j;
for(min=a[0],j=1;j<N;j++){
if(a[j]<min){
min = a[j];
}
}
printf("最小值是%d\n",min);
}
7.
#include<stdio.h>
double DataSort(double score[],int n);
double PrintOut(double score[],int n);
#define N 10
int main(){
double a[N]={81.0,80.0,67.0,91.0,88.0,97.0,86.0,93.0,73.0,62.0};
DataSort(a,N);
PrintOut(a,N);
return 0;
}
double DataSort(double score[],int n){
int i,j,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;
}
}
}
}
double PrintOut(double score[],int n){
int i;
for(i=0;i<n;i++){
printf("%f",score[i]);
printf("\n");
}
}
8.
#include<stdio.h>
int m,n;
int fun(int a[m][n]);
int main()
{
scanf("%d %d",&m,&n);
int i,j;
int a[m][n];
int sum = 0;
for(i=0;i<m;i++)
{
for(j=0;j<n;j++){
scanf("%d",&a[i][j]);
}
}
fun(a);
}
int fun(int a[m][n]) {
int sum=0;
int i,j;
for (i = 0;i<m; i++) {
for (j = 0;j<n; j++) {
if (i == 0 || i==m-1||j==0||j==n-1) {
sum += a[i][j];
continue;
}
}
}
printf("%d",sum);
return sum;
}