经过前四部分的实验,明白了:
要注意是什么类型的数组,从而进行相应的改变
数组下标由0开始
(当输入数据多时,采用循环结构的确带来很大的方便)
当对所有数组元素初始化的时候,才可以省略数组大小
1和9分别用于初始化a[0]和a[1]
依旧有点模糊的是:形参和实参,冒泡法的原理搞懂了,但自己编程序时,不太会,以至于第二个补充程序,直接参照了实验四的程序。
Part 5
// 功能描述:输入一组整数,输出最大值 #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); // 利用循环输入N个整数给数组a for(i=1;i<=N;i++) { scanf("%d",&a[i]); } // 调用子函数max求数组a的最大元素值,并赋值给max max= findMax(a,N); // 输出最大值 printf("数组a中最大元素值为: %d\n\n", max); return 0; } // 函数定义 // 功能描述:找出整型数组a中元素的最大值,并返回次此最大值 // 补足函数findMax()的实现部分3 int findMax(int a[],int n) { int max=a[0],j; for(j=1;j<n;j++) { if(a[j]>max) max=a[j]; } return max; }
#include <stdio.h> const int N=4; void output(char x[], int n); // 函数声明 // 排序函数声明 void bubbleSort( char [], int ); int main() { char string[N] = {'2','0','1','9'}; int i; printf("排序前: \n"); output(string, N); // 调用排序函数对字符数组中的字符由大到小排序 bubbleSort(string,N); 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 bubbleSort( char x[], int n) { int i,j,t; for (i=0; i<n-1; i++) { for(j=0; j<n-1-i; j++) { if( x[j] < x[j+1] ) { t = x[j]; x[j] = x[j+1]; x[j+1] = t; } } } }