導航:首頁 > 編程語言 > 單片機的編程如何求最大最小值

單片機的編程如何求最大最小值

發布時間:2023-06-02 23:19:53

Ⅰ 編寫簡單的單片機c語言程序 1、指定數組找最大值 2、排序

#include<stdio.h>

#defineNR10//數組元素個數

/*從主函數開始*/

intmain(intargc,char**argv)

{

intar[NR];

inti;

fprintf(stdout,"請輸入%d個整數: ",NR);

/*獲取並檢查用戶輸入*/

while(1)

{

/*循環獲取NR個數據*/

for(i=0;i<NR;i++)

{

if(fscanf(stdin,"%d",&ar[i])!=1)

{

fprintf(stdout,"輸入錯誤!請重新輸入: ");

while(getchar()!=' ');//丟棄多餘非法字元

break;//打破內層for循環

}

}

/*檢查是否獲取到NR個數據*/

if(i!=NR)

{

continue;

}

else

{

break;

}

}

/*查找最大值和最小值*/

intmax,min;

max=ar[0];//假定第一個數為最大值

min=ar[0];//同時假定也第一個數為最大值

/*從第二個數開始比較查找最值*/

for(i=1;i<NR;i++)

{

if(ar[i]>max)//最大值

{

max=ar[i];

}

if(ar[i]<min)//最小值,不能使用elseif,否則會跳過比較

{

min=ar[i];

}

}

fprintf(stdout,"最大值為:%d最小值為:%d ",max,min);

/*接下來:查找第二大值*/

intsecond;

/*先獲取前兩個數的第一大和第二大值*/

ar[0]>ar[1]?(max=ar[0],second=ar[1]):

(max=ar[1],second=ar[0]);

/*從第2個數開始比較查找*/

for(i=2;i<NR;i++)

{

if(ar[i]>max)//查找最大值:目的是為了比較第二大值

{

second=max;//先把最大值保存給第二大值

max=ar[i];

}

elseif(second<ar[i])//比最大值小的數再看看是否大於第二大值

{

second=ar[i];

}

}

fprintf(stdout,"第二大值為:%d ",second);

return0;

}

(1)單片機的編程如何求最大最小值擴展閱讀

一、c語言程序求數組內所有數的和:

1、通過索引的方式就可以訪問到數組內部的元素,索引是從0到數組長度-1。

2、數組點Lenth就是數組的長度。

二、c語言程序冒泡排序:

1、比較相鄰的兩個元素的大小,如果第一個比第二個大就互換一下。

2、然後每一對都做如上操作,如此一來最後一個元素肯定是最大的數了。

3、除了最後一個元素,重復以上步驟。然後倒數第二個就是次大的值了

4、一次按照這個邏輯直到沒有任何數字可以比較了。

閱讀全文

與單片機的編程如何求最大最小值相關的資料

熱點內容
珠海存儲伺服器地址怎麼找 瀏覽:413
md5演算法字元串長度 瀏覽:4
可以二次虛化的雲伺服器 瀏覽:779
思科2500編程器固件 瀏覽:235
php開發桌面應用程序 瀏覽:904
支付寶app哪裡可以加油 瀏覽:71
路由器ttl刷編程器固件 瀏覽:719
縱向加密密鑰協商狀態時間 瀏覽:851
mc花雨庭伺服器有些什麼 瀏覽:809
linux製作網頁 瀏覽:19
xlsx加密忘記了怎麼辦 瀏覽:999
app湖北農信怎麼解約 瀏覽:426
在線編程教育項目 瀏覽:759
電信采購5萬台伺服器干什麼用 瀏覽:200
騰訊雲伺服器登錄地址 瀏覽:988
程序員在地鐵上寫字 瀏覽:555
解壓包未知文件格式怎麼辦 瀏覽:578
程序員破壞資料庫 瀏覽:331
sh格式如何編譯 瀏覽:344
虛擬伺服器雲主機哪個好 瀏覽:98