请问插入和删除最后输出的那一段的代码怎么写?拜托啦,急求!!!
#include
#include
struct Student
{
int num;
char name[20];
int score;
struct Student*next;
};
int main()
{
struct Student stu[10]={{10101,"Zhao",89},{10102,"Qian" ,90},{10103,"Sun",93},{10104,"Li",94},
{10105,"Zhou",95},{10106,"Wu",96},{10107,"Zheng",97},{10108,"Wang",98},{10109,"Feng",99},{10110,"Cheng",100}};
int i;
printf(" 学号 姓名 成绩\n");
for(i=0;i<10;i++)
printf("%7d%8s%6d\n",stu[i].num,stu[i].name,stu[i].score);
printf(" ---要插入的数据---\n");
printf(" 学号 姓名 成绩\n");
printf(" ---要删除的数据---\n");
printf(" 学号 姓名 成绩\n");
return 0;
}
又新写的,但是插入后原来位置的数据丢失,请问该怎么改?谢谢!
#include<stdio.h>
#include
struct Student
{
int num;
char name[20];
int score;
struct Student*next;
};
int main()
{
struct Student stu[20]={{10101,"Zhao",89},{10102,"Qian" ,90},{10103,"Sun",93},{10104,"Li",94},
{10105,"Zhou",95},{10106,"Wu",96},{10107,"Zheng",97},{10108,"Wang",98},{10109,"Feng",99},{10110,"Cheng",100}};
int i;
printf(" 学号 姓名 成绩\n");
for(i=0;i<10;i++)
printf("%7d%8s%6d\n",stu[i].num,stu[i].name,stu[i].score);
printf(" ---要插入的数据下标---\n");
int a;
scanf("%d",&a);
stu[a].num=10113;
strcpy(stu[a].name ,"Chu");
stu[a].score =98;
if(i==a)
{
stu[i+1]=stu[i];
stu[i]=stu[a];
}
printf(" 学号 姓名 成绩\n");
for(i=0;i<11;i++)
printf("%7d%8s%6d\n",stu[i].num,stu[i].name,stu[i].score);
printf(" ---要删除的数据下标---\n");
int x;
scanf("%d",&x);
for(i=x;i<10;i++)
stu[i]=stu[i+1];
printf(" 学号 姓名 成绩\n");
for(i=0;i<9;i++)
printf("%7d%8s%6d\n",stu[i].num,stu[i].name,stu[i].score);
return 0;
}