下列代码,输入一个学号,删除结构体数组中所有对应学号的数据,请填空。 struct student{ /* 学生信息结构定义 */ int num; /* 学号 */ char name[10]; /* 姓名 */ int computer, english, math; /* 三门课程成绩 */ double average; /* 个人平均成绩 */ }; int main(void) { int i,j,id,n=6; 【1】 stu[6]={{101,"李白",90,98,90}, {102,"杜甫",94,95,96}, {102,"杜甫",94,95,96}, {103,"王维",80,90,98}, {102,"杜甫",94,95,96}, {104,"白居易",85,85,85}}; /* 定义结构变量 */; printf("请输入要删除的学号:"); scanf("%d",&id); for(i = 0; i < n; i++){ if(【2】) { n--; for(j=i;j<n;j++) 【3】; i--; } } for(i=0;i<n;i++) printf("%d,%s\n", stu[i].num, stu[i].name); return 0; }
时间: 2024-02-14 09:07:45 浏览: 153
下列代码,输入一个学号,删除结构体数组中所有对应学号的数据,请填空。
```
struct student{ /* 学生信息结构定义 */
int num; /* 学号 */
char name[10]; /* 姓名 */
int computer, english, math; /* 三门课程成绩 */
double average; /* 个人平均成绩 */
};
int main(void)
{
int i,j,id,n=6;
struct student stu[6]={{101,"李白",90,98,90},
{102,"杜甫",94,95,96},
{102,"杜甫",94,95,96},
{103,"王维",80,90,98},
{102,"杜甫",94,95,96},
{104,"白居易",85,85,85}}; /* 定义结构变量 */;
printf("请输入要删除的学号:");
scanf("%d",&id);
for(i = 0; i < n; i++){
if(stu[i].num == id)
{
n--;
for(j=i;j<n;j++)
stu[j] = stu[j+1];
i--;
}
}
for(i=0;i<n;i++)
printf("%d,%s\n", stu[i].num, stu[i].name);
return 0;
}
```
空1:省略了结构体数组的初始化部分,无需填写。
空2:if(stu[i].num == id)
空3:stu[j] = stu[j+1];
阅读全文