為什么 max的初值為0,而min的初值為100??不理解
![]() ![]() 打卡Lv1
|
T-f4p1pa6zf
展開
為什么 max的初值為0,而min的初值為100??不理解 ![]() hdylnpu
講師
展開
@ T-f4p1pa6zf 你好
求最值必須得和已知數(shù)逐個比較,以求最小值為例,可以有兩種求法
第一種:假設(shè)第一個數(shù)最小,并將最小值存入min變量,然后min變量逐個和后面所有變量比較,哪個變量的值比min小,min變量就取那個變量的值。最終min變量值就是最小值。
第二種:給min變量一個盡可能大的值,然后min變量和所有變量逐個比較,哪個變量的值比min小,min變量就取那個變量的值。最終min變量值就是最小值。
本例采用的是第二種方法,min變量初值理論上說是可以任意的。但是如果取的特別低,有可能導(dǎo)致最值求的不準(zhǔn)確。 |
![]() ![]() 學(xué)習(xí)達人
|
小恒無涯
展開
老師,我用for循環(huán),if語句中continue好像不會終止i++,我自己加上個a--;才行,是不是這樣啊 ![]() 小恒無涯
展開
@ hdylnpu 我試過多次,continue在for語句和while中,效果不一樣,老師你可以試試,while中,不會執(zhí)行i++,但是在for中 i++ 依然會執(zhí)行 |
![]() ![]() 學(xué)習(xí)達人
|
dc15987228651
展開
|
![]() ![]() 學(xué)習(xí)達人
|
hdylnpu
講師
展開
|
![]() ![]() 學(xué)習(xí)達人
|
T925778rr
展開
|
![]() ![]() 學(xué)習(xí)達人
|
T925778rr
展開
#include<stdio.h>
int main(){
float max,min,average,a[10],s;
int i=0;
max=0;
min=100;
s=0;
while(i<10){
printf("請輸入第%d名同學(xué)的成績",i+1);
scanf("%f",&a[i]);
if(a[i]>100||a[i]<0){
printf("你輸入的成績錯誤,應(yīng)該在1-100之間");
continue;
}
if(a[i]>max) max=a[i];
if(a[i]<min) min=a[i];
i++;
s+=a[i]; |
承擔(dān)因您的行為而導(dǎo)致的法律責(zé)任,
本站有權(quán)保留或刪除有爭議評論。
參與本評論即表明您已經(jīng)閱讀并接受
上述條款。