最小值c语言 循环,C语言循环结构-C语言求全班同学身高的最大值和最小值
編寫程序,幫桐桐找出全班同學身高的最大值和最小值。
問題分析
輸入:班級總人數;依次輸入班上每位同學的身高值(float型)。
輸出:最大身高值和最小身高值(float型)。
這是一個依次比較大小的問題,具體步驟為:
1) 準備兩個位置 A 和 B,A 位置站立身高最高的,B 位置站立身高最矮的;
2) 第一位同學先站在 A 位置,第二位同學跟站在 A 位置的同學比身高,如果第二位同學高,則替換站在 A 位置的同學,否則,第二位同學站在 B 位置;
3) 接著第三位同學跟站在 A 位置的同學比身高,如果第三位同學高,則替換站在 A 位置的同學,否則,第三位同學再跟站在 B 位置的同學比身高,如果第三位同學矮,則替換站在 B 位置的同學;
4) 后面每一位同學都像第三位同學一樣,依次跟站在 A 位置或 B 位置的同學比身高并替換站立,直至所有同學都參加過身高比較,最后 A 位置站立的就是身高最高的同學,而 B 位置站立的就是身高最矮的同學。
算法描述
代碼清單 1:找出 n 位同學身高的最大值和最小值
#include
#include
int main( )
{
int n,i;
float x,max_height,min_height;
printf("輸入全班同學人數(個):\n");
scanf("%d",&n);
printf("輸入第1位同學的身高(cm):\n");
scanf("%f",&x);
max_height = x; //初始化最大身高值
min_height = x; //初始化最小身高值
for(i=1;i
{
printf("輸入第%d位同學的身高(cm):\n",i+1);
scanf("%f",&x);
if(x > max_height) max_height = x;
else if(x < min_height) min_height = x;
}
printf("全班%d位同學身高最大值:%.2fcm\n",n,max_height);
printf("全班%d位同學身高最小值:%.2fcm\n",n,min_height);
system("pause");
return 0;
}
運行結果為:
輸入全班同學人數(個):
6
輸入第1位同學的身高(cm):
181
輸入第2位同學的身高(cm):
178
輸入第3位同學的身高(cm):
178
輸入第4位同學的身高(cm):
176
輸入第5位同學的身高(cm):
156
輸入第6位同學的身高(cm):
179
全班6位同學身高最大值:181.00cm
全班6位同學身高最小值:156.00cm
在程序中求多個數的最大值,在初始化最大值變量時,為了便于被后面出現的較大值替換,一般將其初始化為盡可能小的值(比如 0);同理,如果求最小值,在初始化最小值變量時,一般將其初始化為盡可能大的值(比如 32767)。
本例中,將最大值和最小值都初始化為第一個值,這樣做的目的是為了提高程序的運行效率(減少了比較的次數)。
總結
以上是生活随笔為你收集整理的最小值c语言 循环,C语言循环结构-C语言求全班同学身高的最大值和最小值的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php ajax复选框是否选中的值,jq
- 下一篇: C++PrimerPlus学习——第六章