第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

從鍵盤輸入一批整數(shù),最后一個數(shù)為0,編程求出其中的最大數(shù)和最小數(shù)。請問我的哪里不妥嗎?

從鍵盤輸入一批整數(shù),最后一個數(shù)為0,編程求出其中的最大數(shù)和最小數(shù)。請問我的哪里不妥嗎?

C C# C++
liaoexiang 2017-11-16 17:03:59
#include<stdio.h>int main() { int max,min,n; printf("Input a siries of number,and the last one is 0:"); scanf("%d",&n); max=n;min=n;do{ if(n>=max) max=n; else if(n<=min) min=n; else? scanf_s("%d",n);}while(n==0);printf("max is %d,min is %d",max,min);getchar();getchar();}
查看完整描述

1 回答

?
慕哥8595403

TA貢獻5條經(jīng)驗 獲得超0個贊

假設程序運行后,第一個輸入的整數(shù)n是1。則根據(jù)你的程序,max和min初始化為1,進入循環(huán),n>=max成立,又再次max=n,這部分顯然是多余的,程序繼續(xù)執(zhí)行,由于第一個if成立,所以,后面兩個else都不執(zhí)行。循環(huán)判斷條件是n==0,然而此時n==1,因此不執(zhí)行循環(huán)內容,輸出max?is 1,?min?is 1。


根據(jù)上面的演示可以知道,if判斷條件里,應該改為n>max,n<min,這樣可以去除多余的賦值操作;明確if判斷語句的含義,即一個條件成立后,其余的相關else?和?else?if語句不再執(zhí)行,為保證第二個scanf函數(shù)的執(zhí)行,第二個else應當去掉;另外,循環(huán)條件如果寫n==0,則意味著只有在n被賦值為0的時候,循環(huán)體才執(zhí)行,而根據(jù)題意,應該是n為0的時候結束循環(huán),所以改為n!=0。

綜上,代碼修改如下:

#include<stdio.h>
int?main()
{?int?max,min,n;
printf("Input?a?siries?of?number,and?the?last?one?is?0:");
scanf("%d",&n);
max=n;min=n;
do{
if(n>max)?max=n;
else?if(n<min)?min=n;
scanf_s("%d",n);
}while(n!=0);
printf("max?is?%d,min?is?%d",max,min);
getchar();
getchar();
}

望采納,謝謝。

查看完整回答
反對 回復 2017-11-17
  • 1 回答
  • 0 關注
  • 4403 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號