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

来源:互联网 发布:fc模拟器mac版 编辑:程序博客网 时间:2024/05/21 07:51

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;}

原创粉丝点击