实验4
实验结论
Part1-Part4.
1.数组名作为函数参数时,形参、实参的语法形式书写注意事项,函数调用和参数传递过程
函数声明和函数定义中,函数名init后面括号里出现的是形式参数,数组名后面要加[ ]。
即: void init(int a[], int n, int value);
函数调用中,函数名init后面括号里出现的是实际参数,直接写数组名。
即: init(b, N, -1);
2.对冒泡法排序算法的理解,尤其是边界条件的理解和归纳总结
注意从0开始,边界条件也有相应改变
Part5.编程练习
1.补全程序,查找一组整型数据的最大值。
#include<stdio.h> #include<stdlib.h> int findMax(int a[], int n); const int N = 5; int main() { int a[N]; int max, i; printf("please print %d integer: \n", N); for (i = 0; i < N; i++) scanf_s("%d", &a[i]); max = findMax(a, N); printf("the max in the array a is: %d\n\n", max); system("pause"); return 0; } int findMax(int a[], int n) { int i, j, max; max = a[0]; for (i = 0; i < N; i++) { if (a[i] > max) { max = a[i]; } } return max; }
2.补全程序,使用冒泡法对字符数组由大到小排序.
#include<stdio.h> #include<stdlib.h> const int N = 4; void output(char x[], int n); void sort(char x[], int n); int main() { char string[N] = { '2','0','1','9' }; int i; printf("\nbefore sorting: \n"); output(string, N); sort(string, N); printf("\nafter sorting: \n"); output(string, N); printf("\n"); system("pause"); return 0; } 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,k; for (i = 0; i< n - 1; i++) { for (j = 0; j < n - 1 - i; j++) { if (x[j] < x[j + 1]) { k = x[j]; x[j] = x[j + 1]; x[j + 1] = k; } } } }
实验总结与体会
这次赶在交作业之前写,匆忙之余还是需要再看看,写的全程都在照着课本对照写,对这玩意还是不太熟。概念好新。