<pre name="code" class="plain">
随机产生20个[10 , 50]的正整数,并求数组中的所有元素最大值、最小值、平均值以及各元素之和,及第二大值。
int a[20] = {}, max =0, sec = 0, min =50;
float ave = 0, sum =0;
for (int i =0; i < 20; i++) {
a[i] =arc4random() % 41 +10;
printf("%d ",a[i]);
if (min > a[i]) {
min = a[i];
}
if (max < a[i]) {
sec = max;//sec是上一个max,要定义上一个数需要在本次定义之前,引入另一个变量与他赋值.
max = a[i];//当第二值在最大数之后是,不会显示出来.
}elseif (sec < a[i] && a[i] < max){
sec = a[i];//只有(sec < a[i])时,最大数之后还有最大数时,有漏洞.
}
sum += a[i];
}
ave = sum /20;
printf("最小值:%d最大值:%d 平均值:%.2f 第二值:%d",min, max, ave, sec);