你哪来这么多事(二):学生信息查找
學(xué)生信息查找
Time Limit: 1 Sec??Memory Limit: 128 MB?? 64bit IO Format: %lld
Description
某班 有n個(gè)學(xué)生(不超過(guò)100),每個(gè)學(xué)生的信息包括學(xué)號(hào)(long no),姓名(char name[9])和成績(jī)(int score)。
編寫(xiě)程序,先將n個(gè)學(xué)生的信息錄入到結(jié)構(gòu)體數(shù)組中(n個(gè)學(xué)生的數(shù)據(jù)已按學(xué)號(hào)升序有序),
然后需要查詢(xún)m個(gè)學(xué)生是否在本班上(按學(xué)號(hào)查找),如果在的話(huà),輸出其詳細(xì)信息,否則輸出不存在。
注意:main函數(shù)已經(jīng)給定(如下所示)。
? ? ? ? ? ?請(qǐng)將程序補(bǔ)充完整。
? ? ? ? ? ?提交時(shí)只需要提交自己補(bǔ)充的代碼部分,不需要提交給定的main函數(shù)的代碼部分。
#include<stdio.h>
int main()
{int i,n,m,t;long xh;struct student stu[100];while(scanf("%d",&n)!=EOF){input(stu,n); //讀入n個(gè)學(xué)生的數(shù)據(jù)scanf("%d",&m);for(i=0;i<m;i++){scanf("%ld",&xh);t=search(stu,n,xh); //查找學(xué)號(hào)為xh的學(xué)生,不存在返回-1,存在則返回其下標(biāo)if(t==-1)printf("%d not exist\n",xh);elseprint(stu,t); //輸出第t個(gè)學(xué)生的信息}}return 0;
}
Input
包含多組測(cè)試數(shù)據(jù),每組測(cè)試數(shù)據(jù)第一行包含1個(gè)正整數(shù)n,表示學(xué)生人數(shù)。
接下來(lái)的n行,每行為1個(gè)學(xué)生的詳細(xì)信息(已按學(xué)號(hào)升序有序),包括學(xué)號(hào),姓名和成績(jī),各數(shù)據(jù)之間用空格隔開(kāi)。
接下來(lái)的一行包括一個(gè)正整數(shù)m,表示待查找的學(xué)生人數(shù)。
最后是m行,每行1個(gè)整數(shù),表示帶查找學(xué)生的學(xué)號(hào)。
其中,n<100,m<n。
?
Output
每組測(cè)試數(shù)據(jù)輸出占1行,如果不存在則輸出“*** not exist”(***為查找的學(xué)號(hào)),如果存在,則輸出學(xué)生的信息,數(shù)據(jù)依次為:學(xué)號(hào),姓名,成績(jī)。各部分?jǐn)?shù)據(jù)之間用空格隔開(kāi)。(具體詳見(jiàn)樣例輸出)
?
Sample Input
3
1001 aaa 86
1002 bbb 78
1003 ccc 70
2
1004
1001
?
Sample Output
1004 not exist
1001 aaa 86
題目分析:
會(huì)做上一題了就會(huì)做這一題。
?
搜索這個(gè)學(xué)號(hào),搜到了則將這個(gè)學(xué)號(hào)的學(xué)生信息輸出。
?
以下僅為答案部分代碼~
最后:抄代碼有害無(wú)益喲~
struct student
{long no;char name[9];int score;
};
void input(struct student stu[100],int n)
{int i;for(i=1;i<=n;i++){scanf("%ld %s %d",&stu[i].no,stu[i].name,&stu[i].score);}return;
}
int search(struct student stu[100],int n,long xh)
{int i;for(i=1;i<=n;i++)if(stu[i].no==xh)return i;return -1;
}//人類(lèi)的本質(zhì)是什么
void print(struct student stu[100],int t)
{printf("%ld %s %d\n",stu[t].no,stu[t].name,stu[t].score);return;
}
?
總結(jié)
以上是生活随笔為你收集整理的你哪来这么多事(二):学生信息查找的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 求作开头的成语接龙!
- 下一篇: 你哪来这么多事(三):学生信息删除