欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標題:
關于C語言數據比較,找出最大數和最小數的算法
[打印本頁]
作者:
ttmax3
時間:
2021-4-19 14:54
標題:
關于C語言數據比較,找出最大數和最小數的算法
我想從eeprom中取出80個數,然后進行比較,找出最大數和最小數,應該怎么寫程序呢?謝謝各位大神了。
作者:
小白呂
時間:
2021-4-19 15:38
1.先求和,算平均值
2.循環80個數,計算與平均值的差
3,.比較差大小,得出最大最小值
作者:
dzbj
時間:
2021-4-19 15:40
本帖最后由 dzbj 于 2021-4-19 15:52 編輯
最笨的算法
uchar a=0;
uchar b=255;
for(x=0;x<80;x++)
{
if(a<eeprom[x])//求最大
{
a=eeprom[x];
}
if(b>eeprom[x])
{
b=eeprom[x];//求最小
}
}
作者:
啊哈哈123
時間:
2021-4-19 17:20
偽代碼
作者:
啊哈哈123
時間:
2021-4-19 17:41
偽代碼:
//從 eeprom 讀取數據
char* Get_eeprom_data(void)
{
.......
return data
}
//獲取最大 最小 值
void Get_max_or_min_mum (void)
{
char max=0,min=127,i=0;
char *datanum=Get_eeprom_data();
for(i=0;i < 80;i++)
{
if(datanum[i] > max)
{
max = datanum[i];
}
else if(datanum[i] < min)
{
min = datanum[i];
}
else
{
continue;
}
}
// max 最大值 min 最小值
}
復制代碼
作者:
robinsonlin
時間:
2021-4-19 18:01
有個非常經典的算法,冒泡比較法了解下
作者:
drfsaedfsdgdfhf
時間:
2021-4-19 21:13
冒泡算法比較好用。從eeprom中依次取數字,然后再寄存器中保存當前最大值。遍歷一整遍后即可。
作者:
glinfei
時間:
2021-4-19 23:28
冒泡法是排序用的,這里只要簡單遍歷而已。
作者:
birdzhyli
時間:
2021-4-19 23:39
很多人都學過,如果沒學過就簡單走一遍,先變量shud,shux,shudi,shuxi標記大數,小數,大數位置,小數位置,走一遍,連走邊比較,如果比大數大,大數賦值,大數位置指過去,如果比小數小,小數賦值,小數位置指過去,繼續下一個,一遍下來全搞定,這種一遍的事沒有什么太簡單或者太高精尖的算法
作者:
黃youhui
時間:
2021-4-20 08:44
dzbj 發表于 2021-4-19 15:40
最笨的算法
uchar a=0;
所有的數都在10-20之間,你這算法會怎么樣。
作者:
dzbj
時間:
2021-4-20 09:50
黃youhui 發表于 2021-4-20 08:44
所有的數都在10-20之間,你這算法會怎么樣。
沒想那么多情況 人家不是沒說范圍么 先按最簡單的來唄
作者:
BoatD
時間:
2021-4-20 10:07
當然可以使用冒泡排序,但只是為了找最值的話,未免有點殺雞用牛刀了,代碼實現思路如下:
作者:
ttmax3
時間:
2021-4-20 11:10
謝謝各位回答,我去了解下冒泡算法。
作者:
laopihappy123
時間:
2021-4-20 15:33
你好! 我有一個解決辦法,既然你只是要找出最大最小,只需要遍歷一遍就行,不需要冒泡排序,冒泡排序還是挺占用資源的.
首先定義2個變量 ,max,min,然后分別裝入數組里的第一個元素,隨后分別遍歷數組, 前者: 如果就比他大的 就把數值換成那個大的,后者和前者一樣,只不過是比誰小.
這樣只需要遍歷2次數組即可,也可以一次遍歷完,都可以的
作者:
laopihappy123
時間:
2021-4-20 15:34
也可以在一次遍歷中同時判斷,都可以的
作者:
藍色彈珠
時間:
2021-4-23 14:04
定義·兩個變量,最大和最小值,然后把第一個數付給他,然后循環比較
作者:
名字不是重點
時間:
2021-4-24 09:35
直接冒泡就行了。又不用排序,簡單:
定義MAX、MIN
max=arr[0];
min=arr[0];
從數組1到數組80
for (i=1;i<80;i++)
{
if arr[i]>max;max=arr[i];//大于最大,則更新最大值
if arr[i]<min;min=arr[i];//小于最小,則更新最小值
}
歡迎光臨 (http://m.raoushi.com/bbs/)
Powered by Discuz! X3.1