题目:寻找整数数组中的最大值。
这个题目我就是设置了一个for循环,然后把max赋给第一个数,然后逐个进行比较就能得出最大的数。但是后来老师说要考虑多种情况,包括数组为空和数组为0的情况,于是我进行了改进。但是并不像老师说的那样,如果没有初始化就为0,而是如果未初始化就是-858993460,于是我给的条件是list[0]>-858993460,从而实现了识别空数组的功能,而max自动就是-858993460,这已经是最小的数了,就不用再改了。
一下是程序代码和程序截图:
// seshi.cpp : Defines the entry point for the console application. // #include "stdafx.h" int largest(int list[],int length) { int i,max; if(list[0]>-858993460) { for(i=0;i<length;i++) { if(list[i]>max) max=list[i]; } return max; } else { printf("数组为空!"); } } int main(int argc, char* argv[]) { int a[5]={1,2,3,4,5}; int b[5]={45,32,41,25,96}; int c[5]={113,22343434,345,1236,237}; int d[5]; int e[5]={-1,-2,-3,-4,-5}; printf("a数组的最大值是:"); printf("%d ",largest(a,5)); printf("b数组的最大值是:"); printf("%d ",largest(b,5)); printf("c数组的最大值是:"); printf("%d ",largest(c,5)); printf("d数组的最大值是:"); printf("%d ",largest(d,5)); printf("e数组的最大值是:"); printf("%d ",largest(e,5)); return 0; }