久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1619|回復: 3
打印 上一主題 下一主題
收起左側

C語言二分法查表問題,輸入需要查詢的數字,然后輸出下表,當輸入的數據不在查詢內

[復制鏈接]
跳轉到指定樓層
樓主
ID:858009 發表于 2022-1-19 15:58 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
本帖最后由 qwettyuio 于 2022-1-19 17:33 編輯

輸入的CurrentAD不在查詢的數組中時,返回距離最近的值下標,查詢140時,沒有該數,側返回139下標,求指導一下,該怎么解決
C語言源程序如下:
uchar code tabe1[11] = {0xF0,0x00,0xD0,0x90,0x20,0xB0,0xF0,0x10,0xF0,0xB0};
uchar code tabe2[11] = {0xA0,0xA0,0x60,0xE0,0xE0,0xC0,0xC0,0xA0,0xE0,0xE0};
uchar a0,a1,a2;
uint num;
uchar code NTC_AD[141] = {
   25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,45,46,47,48,50,51,52,54,55,      //60℃  --- 87℃
   56,58,59,30,62,63,65,66,68,69,71,72,74,75,77,79,80,82,83,85,87,88,90,92,93,95,97,98,      //88℃  --- 115℃
   100,102,103,105,107,108,110,112,112,115,116,118,120,121,123,125,126,128,130,131,133,      //116℃ --- 136℃
   134,136,137,139,141,142,144,145,147,148,150,151,152,154,155,157,158,159,161,162,163,      //137℃ --- 157℃
   165,166,167,169,170,171,172,173,174,175,176,177,178,179,181,182,183,184,185,186,187,      //158℃ --- 178℃
   188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209   //179℃ --- 200℃
                  };
/*******************************************************************************
* Function Name  : Sheshi_Init()
* Description    : 顯示對應的溫度以及熟度(℃)
*******************************************************************************/
void Sheshi_Init(uchar a0,uchar a1,uchar a2)
{
        Write_1621(23,tabe1[a0],4);
        Write_1621(24,tabe2[a0],4);
        Write_1621(25,tabe1[a1],4);
        Write_1621(26,tabe2[a1],4);
        Write_1621(27,tabe1[a2],4);
        Write_1621(28,tabe2[a2],4);
}
float Bin_Search(uchar CurrentAD)
{
        int start = 0;
        int end   = 141;
        int mid   = 0;
        while(start <= end)
        {
                mid =(start+end)/2;
                if(CurrentAD==NTC_AD[mid]) break;
                else if(CurrentAD>NTC_AD[mid])
                {
                        start = mid +1;
                }
                else if(CurrentAD < NTC_AD[mid])
                {
                        end = mid-1;
                }
        }
        return mid;
}
void main( )
{
        uchar CurrentAD=0;
        Init_1621();       //初始化HT1621
        HT1621_all_off();  //清空LCD顯示
        while(1)
        {
                CurrentAD=31;
                num=Bin_Search(CurrentAD)+60;
                a0=num/100;
                a1=num/10%10;
                a2=num%10;
                Sheshi_Init(a0,a1,a2);
        }
}


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:301191 發表于 2022-1-20 00:36 | 只看該作者
頂一下
回復

使用道具 舉報

板凳
ID:213173 發表于 2022-1-20 07:49 | 只看該作者
兩個下標之間的數就近算整數,差值可以計算小數,給你一個示例參考。
-30~150度數碼管溫度計(對分查表法).rar (27.25 KB, 下載次數: 18)

回復

使用道具 舉報

地板
ID:879809 發表于 2022-1-20 20:42 | 只看該作者
  1. CurrentAD=CurrentAD>=139?CurrentAD:139;
復制代碼
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 人人干天天干 | 天天天操天天天干 | 日韩av在线一区二区 | 日韩午夜在线观看 | 午夜视频免费在线 | 黄色中文字幕 | 国产主播第一页 | 亚洲免费精品 | 日韩毛片在线免费观看 | 国产ts人妖一区二区三区 | 天堂久久一区 | 亚洲高清在线 | 91新视频| 亚洲精品视频在线播放 | 韩日三级 | 蜜桃免费一区二区三区 | 亚洲福利网 | 综合另类 | 日韩成人在线视频 | 久久久久国产一区二区三区四区 | 美人の美乳で授乳プレイ | 992人人草 | 国产日韩欧美一区二区 | 国产在线二区 | 国产一区二区视频在线 | 日韩中文字幕视频在线观看 | 爱综合 | 国产精品一区二区福利视频 | 国产精品免费视频一区 | 99久久免费精品视频 | 国产a爽一区二区久久久 | 黄色播放| 亚洲久久一区 | 午夜av电影| 日韩一区二区三区在线观看 | 狠狠操狠狠干 | 91精品国产综合久久久密闭 | 一区二区三区在线免费观看 | 亚洲精品久久久久久一区二区 | 午夜免费成人 | 全免费a级毛片免费看视频免费下 |