定义一个结构体数组,输入结构体数组元素,并编写函数对结构体数组中插入记录
2条回答 默认 最新
- CSDN专家-link 2021-06-23 11:52关注
要插入记录的话,需要将插入位置及其后续的记录全部后移一个位置,然后在插入位置放置新记录内容即可
struct student { char name[20]; float score; }stu[50]; int stunum = 0; void main() { printf("请输入学生数量:"); scanf("%d",&stunum); int i; for(i=0;i<stunum;i++) scanf("%s %f",stu.name,&stu[i].score); printf("请输入要插入的学生姓名,成绩和插入位置:"); student newstu; int pos; scanf("%s %d %d",newstu.name,&newstu.score,&pos); if(pos >= stunum || pos < 0) //加入pos的位置不在学生数量范围,则加入末尾 stu[stunum++] = newstu; else { for(i=stunum;i>=pos;i--) stu[i] = stu[i-1]; stu[pos] = newstu; stunum++; } for(i=0;i<stunum;i++) printf("姓名:%s\t成绩:%f\n",stu[i].name,stu[i].score); }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决评论 打赏 举报无用 1