<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);