從鍵盤輸入某班學(xué)生某門課的學(xué)號和成績(假設(shè)每班人數(shù)不超過40人),當(dāng)輸入為負值時,表示輸入結(jié)束,試編程從鍵盤輸入一個學(xué)號,查找該學(xué)號學(xué)生的成績?
創(chuàng)新互聯(lián)公司主營牧野網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,重慶APP開發(fā)公司,牧野h5小程序定制開發(fā)搭建,牧野網(wǎng)站營銷推廣歡迎牧野等地區(qū)企業(yè)咨詢【線性查找】 Linear Search
#include#define N 40
int ReadScore(int score[],long num[]);
int LinSearch(long num[],long x,int n);
int main()
{
int score[N],n,pos;
long num[N],x;
n=ReadScore(score,num);
printf("Total students are %d\n",n);
printf("input the searching ID:");
scanf("%ld",&x);
pos=LinSearch(num,x,n);
if(pos!=-1)
printf("score=%d",score[pos]);
else
printf("Not found!\n");
return 0;
}
int ReadScore(int score[],long num[])
{
int i=-1;
do{
i++;
printf("please input ID and score:");
scanf("%ld%d",&num[i],&score[i]);
}while(num[i]>0&&score[i]>=0);
return i;
}
int LinSearch(long num[],long x,int n)
{
int i;
for(i=0;i
【折半查找】 Binary Search
#include#define N 40
int ReadScore(long num[],int score[]);
int BinSearch(long num[],long x,int n);
int main()
{
int score[N],n,pos;
long num[N],x;
n=ReadScore(num,score);
printf("Total students is %d!\n",n);
printf("input the searching ID:\n");
scanf("%ld",&x);
pos=BinSearch(num,x,n);
if(pos!=-1)
printf("score=%d",score[pos]);
else
printf("Not found!");
return 0;
}
int ReadScore(long num[],int score[])
{
int i=-1;
do{
i++;
printf("please input student is ID and score:\n");
scanf("%ld%d",&num[i],&score[i]);
}while(num[i]>0&&score[i]>=0);
return i;
}
int BinSearch(long num[],long x,int n)
{
int mid,left=0,right=n-1;
while(left<=right)
{
mid=(left+right)/2;
if(x>num[mid])
left=mid+1;
else if(x
提示:mid為輸入數(shù)組的中間數(shù)個數(shù),如果不能整除也沒關(guān)系,前后兩個數(shù)都可取
用折半查找效率要高一點
你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機房具備T級流量清洗系統(tǒng)配攻擊溯源,準確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級服務(wù)器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧
標(biāo)題名稱:【C語言】用線性查找與折半查找的兩種方法查找成績-創(chuàng)新互聯(lián)
本文來源:http://muchs.cn/article38/phppp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供域名注冊、定制開發(fā)、電子商務(wù)、企業(yè)建站、軟件開發(fā)、網(wǎng)站策劃
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容