void deleteRecord() { printf("请输入要删除的学生学号:"); int targetId,i; scanf("%d",&targetId); int foundIndex=-1; for(i=0;i<studentCount;i++) { if(students[i].id==targetId) { foundIndex=i; break; } } if(foundIndex==-1) { printf("未找到要删除的学生成绩!\n"); return; } printf("学号:%d,姓名:%s,成绩:%d %d %d,平均成绩:%.2f\n",students[foundIndex].id,students[foundIndex].name,students[foundIndex].scores[0],students[foundIndex].scores[1],students[foundIndex].scores[2],students[foundIndex].average); for(int i=foundIndex;i<studentCount-1;i++) { students[i]=students[i+1]; } studentCount--; printf("成绩删除成功!\n"); }的算法思想
时间: 2023-07-15 10:12:40 浏览: 124
学号成绩的输入删除插入修改操作类似Dos
这段代码是一个删除学生成绩记录的函数。具体算法思想如下:
1. 首先输入要删除的学生学号。
2. 遍历学生数组,查找要删除的学生记录的索引位置。
3. 如果未找到要删除的学生记录,则输出提示信息并返回。
4. 如果找到要删除的学生记录,则输出该学生的学号、姓名、成绩信息以及平均成绩。
5. 将要删除的学生记录之后的所有记录向前移动一个位置。
6. 减少学生计数器,表示删除成功。
7. 输出删除成功的提示信息。
阅读全文