1186: 删除记录(结构体专题)

xiaoxiao2021-02-28  111

Description

有一学生成绩表,包括学号、姓名、3门课程成绩。请实现如下删除功能:输入一个学生的学号,删除该学生的所有信息。

Input

首先输入一个整数n(1<=n<=100),表示学生人数;  然后输入n行,每行包含一个学生的信息:学号(12位)、姓名(不含空格且不超过20位),以及3个整数,表示3门课成绩,数据之间用空格隔开。  最后一行输入一个学号num。

Output

若要删除的学号不存在,则输出“error!”;否则,输出删除该学生后的所有记录。

Sample Input

3541207010188 Zhangling 78 95 55541207010189 Wangli 87 99 88541207010190 Fangfang 68 76 75541207010188

Sample Output

541207010189 Wangli 87 99 88541207010190 Fangfang 68 76 75

HINT

Source

#include <stdio.h> #include <stdlib.h> #include<string.h> typedef struct student { char ID[20]; char name[50]; int a,b,c; } STU; int main() { char num[20]; STU stu[102]; int n,i,j=0,flag=0; scanf("%d",&n); for(i=0; i<n; i++) { scanf("%s",stu[i].ID); scanf("%s",stu[i].name); scanf("%d",&stu[i].a); scanf("%d",&stu[i].b); scanf("%d",&stu[i].c); } getchar(); scanf("%s",num); for(i=0; i<n; i++) { if(strcmp(num,stu[i].ID)==0) { j=i; flag=1; } } if(flag==1) { for(i=0; i<n; i++) { if(i==j) continue; else { printf("%s ",stu[i].ID); printf("%s ",stu[i].name); printf("%d ",stu[i].a); printf("%d ",stu[i].b); printf("%d\n",stu[i].c); } } } else printf("error!"); return 0; }
转载请注明原文地址: https://www.6miu.com/read-21214.html

最新回复(0)