实验四
实验结论
part1-4
数组引用时方括号内整数是下标,且值必须在0~n-1之间;
未赋初值时,系统默认元素初始值为0;
part5 补足程序1
// 功能描述:输入一组整数,输出最大值 #include <stdio.h> int findMax(int x[], int n); // 函数声明 const int N=5; int main() { int a[N]; int max, i; printf("输入%d个整数: \n", N); // 利用循环输入N个整数给数组a // 补足程序1 for(i=0;i<N;i++) scanf("%d",&a[i]); // 调用子函数max求数组a的最大元素值,并赋值给max // 补足程序2 max=findMax(a,N); // 输出最大值 printf("数组a中最大元素值为: %d\n\n", max); return 0; } // 函数定义 // 功能描述:找出整型数组a中元素的最大值,并返回次此最大值 // 补足函数findMax()的实现部分3 int findMax(int x[],int n){ int i,max; max=x[0]; for(i=0;i<n;i++){ if(x[i]>=max) max=x[i]; } return max; }
补足程序2
#include <stdio.h> const int N=4; void output(char x[], int n); // 函数声明 // 排序函数声明 // 补足代码1 void bubbleSort( char x[], int n); int main() { char string[N] = {'2','0','1','9'}; int i; printf("排序前: \n"); output(string, N); // 调用排序函数对字符数组中的字符由大到小排序 // 补足代码2 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]); } // 函数定义 // 函数功能描述:对一组字符由大到小排序 // 形参:字符数组,以及字符数组元素个数 // 补足代码3 void bubbleSort(char x[],int n){ int i,j; char t; for(i=0;i<n-1;i++){ for(j=0;j<n-i-1;j++){ if(x[j]<x[j+1]){ t=x[j]; x[j]=x[j+1]; x[j+1]=t; } } } }
冒泡法是在实验程序写着写着间突然领悟的,c语言果然是一门实践出真知的学科哇。
在补全第二个程序时因为是字符数组,所以开始时没有get到i,j,t到底应该用int 还是char,还是应该从原理出发,理解了冒泡法就自然而然明白了变量类型。