实验四
Part 1:
#include <stdio.h> const int N=5; int main (){ int a[N] = {1, 2, 3, 4, 5}; int i; for(i=0;i<N;i++) printf("%d: %d\n",&a[i],a[i]); return 0; }

实验结果 成立 头铁又尝试了一下错误的
#include <stdio.h> int main(){ int a[5] = {1 ,2 ,3 ,4 ,5 }; int i; for(i=1;i<=5;i++) printf("a[%d] = %d\n", i, a[i]); return 0; }

说明在数组中a[1]对应的是第二个数 依次类推 其他不在位数中得为0
Part 2:
1.当对所有数组元素初始化时,才可省略数组大小
2.当对部分数组元素初始化时,
eg:int a[5]={1 ,9}
表明只对第一个和第二个进行初始化赋值,其他都赋值为0
Part 4:
#include <stdio.h>
int findMax(int a[], int n);
const int N=5;
int main()
{
int a[N];
int max, i;
printf("输入%d个整数: \n", N);
for(i=0;i<N;i++)
scanf("%d", &a[i]);
max=findMax(a,N);
printf("数组a中最大元素值为: %d\n\n", max);
return 0;
}
int findMax(int b[],int n){
int max=b[0],k;
for(k=1;k<n;k++)
{
if(b[k]>max)
max=b[k];
}
return max;
}
实验结果:

Part 5:
#include <stdio.h> const int N=4; void output(char x[], int n); // 排序函数声明 void sort(char x[],int n); int main() { char string[4] = {'4','7','8','9'}; int i; printf("排序前: \n"); output(string, N); // 调用排序函数对字符数组中的字符由大到小排序 sort(string,N);// 补足代码2 printf("\n排序后: \n"); output(string, N); printf("\n"); return 0; } // 函数定义 // 函数功能描述:输出包含有n个元素的字符数组元素 // 形参:字符数组,以及字符数组元素个数 void output(char x[], int n) { int i; for(i=0; i<N; i++) printf("%c", x[i]); } // 函数定义 void sort(char x[],int n) { int i,j; char t; for(i=1;i<n;i++) { for(j=0;j<n-i;j++) { if(x[j]<x[j+1]) { t=x[j]; x[j]=x[j+1]; x[j+1]=t; } } } }// 补足代码3
实验结果:
————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
在函数声明和函数定义应用中,作为形式参数时数组名后面要加[ ]
在函数调用中,实际参数直接写数组名,不用加[ ]
浙公网安备 33010602011771号