ZZULIOJ 1191追加記録(構造体特集)(水)

1463 ワード

1191:レコードの追加(構造体のトピック)
Time Limit: 1 Sec  
Memory Limit: 128 MB
Submit: 509  
Solved: 221
Submit Status Web Board
Description
学生の成績表があります.学号、名前、3つの課程の成績が含まれています.成績表は学号昇順で並べ替えられていることが知られている.プログラミングして実装して、新しい学生情報を追加して、成績表を学号で秩序正しくしてください.追加する学号が既存の学号と重複すると、エラーメッセージが出力され、追加が拒否されます.
Input
まず整数n(1<=n<=100)を入力し、学生数を表す.次に、n行を入力します.各行には学生の情報が含まれています.学号(12桁)、名前(スペースを含まず、20桁を超えない)、3つの整数が入力され、3つの授業の成績を表し、データ間はスペースで区切られています.最後の行には、学生番号、名前、3科目の成績など、追加する学生情報を入力します.
Output
追加する学号が既存の学号と重複すると、出力は1行の「error!」しかありません.そうでなければ、n+1行、すなわち追加された受講実績情報が出力される.
Sample Input
3
541207010188 Zhangling 78 95 55
541207010189 Wangli 87 99 88
541207010191 Fangfang 68 76 75
541207010190 Lilei 68 79 82

Sample Output
541207010188 Zhangling 78 95 55
541207010189 Wangli 87 99 88
541207010190 Lilei 68 79 82
541207010191 Fangfang 68 76 75


RT
でも少し応用価値がありますね.
#include
#include
#include
using namespace std;
struct STU
{
	char id[15];
	char name[25];
	int a,b,c;
}p[110];
int cmp(STU a,STU b)
{
	if(strcmp(a.id,b.id)<0)
		return 1;
	return 0;
}
char fid[15];
char fname[25];
int fa,fb,fc;
int main()
{
	int n,i,j;
	while(~scanf("%d",&n))
	{
		int flag=0;
		for(i=0;i