求C语言大神 有图 新手上路 代码简单点 易懂
发布网友
发布时间:2024-10-13 09:01
我来回答
共1个回答
热心网友
时间:2024-12-02 18:01
#include<stdio.h>
#include<string.h>
typedef struct Student{
char sno[16];
char name[32];
int score;
}Student;
//创建一张学生信息表
int createList(Student a[],int n){
int i=0;
for(i=0;i<n;i++){
scanf("%s%s%d",a[i].sno,a[i].name,&a[i].score);
}
return i;
}
//根据学号查找某个学生,显示其基本信息
int lookup(Student a[],int n,char sno[]){
int i=0;
while(strcmp(a[i].sno,sno) != 0 && i<n){
i++;
}
if(i==n){
printf("没有此人\n");
return -1;
}
else{
printf("%s\t%s\t%d",a[i].sno,a[i].name,a[i].score);
return i;
}
}
//根据学号删除某个学生
int del(Student a[],int n,char sno[]){
int i;
printf("删除学号为%s的学生:\n",sno);
i = lookup(a,n,sno);
if(i != -1){
int j;
for(j=i+1;j<n;j++){
a[j-1] = a[j];
}
return n-1;
}
else{
return -1;
}
}
//插入一个学生的信息
int insert(Student a[],int n,char sno[]){
int i= n;
Student t;
strcpy(t.sno,sno);
printf("请输入学生姓名:\n");
scanf("%s",t.name);
printf("请输入学生分数:\n");
scanf("%d",&t.score);
a[i] = t;
return n+1;
}
int main(){
Student a[1024];
int n;
scanf("%d",&n);
n = createList(a,n);
printf("总共%d个学生\n",n);
char sno[16];
scanf("%s",sno);
int i = lookup(a,n,sno);
n = del(a,n,sno);
printf("删除之后还剩%d个学生\n",n);
getchar();
getchar();
return 0;
}
追答蟹蟹