L1-005測試座位編號
/*
輸入第一行以給出正整數n(≤1000)
隨后,候選人的信息將得到每一行:測試機座位號測試座號。
其中,門票號碼由16位數字組成,座位為1到N。
輸入保證每個人的入場券號不同,
他們不會隨時分配兩個人到同一席位。
也就是說:首先輸入學校號碼,測試機號,測試號,然后查詢
通過測試機座位編號找到測試座位
*/
一個自考座位號查詢,思考
這個問題的要求是輸入數據和查詢數據。
輸入n個數據。由于數據包含三個數據元素,因此定義結構以記錄一塊數據自考座位號查詢,然后需要n個數據,因此定義了結構數組。
查詢數據時,將數字n輸入到查詢的數字,通過n次輸入測試計算機編號,然后通過雙嵌套周期將輸入NUM1與學生記錄中的num1進行比較。
第二,代碼
#include
#include
int main(){
struct student{
char number[18];//字符串數組設大一點,防止溢出
int num1,num2;
}stu[1001];
int n,i,j;//n代表要錄入的學生信息條數
scanf("%d",&n);
for(i=0;i<n;i++){//用for循環錄入信息
scanf("%s %d %d",&stu[i].number,&stu[i].num1,&stu[i].num2);
}
int k;//k是需要查詢的信息條數
int a[1001];//數組a用于記錄試機號,從而查出考試號
scanf("%d",&k);
for(i=0;i<k;i++){//輸入要查詢的試機號
scanf("%d",&a[i]);
}
for(i=0;i<k;i++){//比較,把輸入的試機號與stu[]中的記錄比較
for(j=0;j<n;j++){//要用嵌套循環比較
if(a[i]==stu[j].num1)
printf("%s %d\n",stu[j].number,stu[j].num2);//輸出對應的學號和考試號
}
}
return 0;
}
三,總結
1。節省學生信息的結構陣列
2。保存要查詢其他數組查詢的信息
3。使用嵌套循環輸出