隨機產生20個[10 , 50]的正整數存到數組中,並求數組中的所有元素最大值,最小值,平均值以及元素之和,第二大值
int a[20] = {0};
int max = 0;//存儲最大值
int min = 50;//存儲最小值
int sum = 0;//存儲元素之和
//使用for循環生成一個含有20個隨機數的數組, arc4random 爲生成隨機數的函數
for ( int i = 0; i < 20; i++) {
a[i] = arc4random() % (50 - 10 + 1) + 10;
printf("%d ", a[i]);//將數組中的每一個元素打印出來
}
printf("\n");//換行
//求數組中所有元素的最大值
for (int i = 0; i < 20; i++) {
if (max < a[i]) {
max = a[i];
}
}
printf("max = %d\n", max);//將最大值打印出來
//求數組中所有元素的最小值
for (int i = 0; i < 20; i++) {
if (min > a[i]) {
min = a[i];
}
}
printf("min = %d\n", min);//將最小值打印出來
//求數組元素之和
for (int i = 0; i < 20; i++) {
sum += a[i];
}
printf("sum = %d\n", sum);//將數組元素之和打印出來
//直接利用(數組元素之和/數組元素個數)得到數組元素的平均值,並打印
printf("平均值爲: %.2f\n", sum / 20.0);
//求數組元素中的第二大值
int secondMAX = 0;//定義第二大值爲secondMax
for (int i = 0; i < 20; i++) {
if (secondMAX < max && secondMAX < a[i]) {
//secondMax爲第二大值,所以當a[i] == max時,跳出本次循環,不進行下面的賦值操作
if (a[i] == max) {
continue;
}
secondMAX = a[i];//當元素小於最大值且大於其他元素時,即爲第二大值
}
}
printf("第二大值爲: %d\n", secondMAX);//將第二大值打印出來
隨機產生20個[10 , 50]的正整數存到數組中,並求數組中的所有元素最大值、最小值、平均值以及各元素之和,及第二大值
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.