8. 已知将5个学生的信息(学号、姓名、性别、成绩)存放在结构体数组中,编写程序,删除第1个不及格的学生。

编译软件:Dev C++

简单题,没有特别复杂的算法

#include
#include
struct work
{
	int num;
	char name[20];
	char sex[20];
	float score;
};

int main()
{
	int i,j,flag=0;
	struct work s[5]={{1001,"Liu","male",98},{1003,"Guo","female",54},{1004,"Zhou","male",56.5},{1005,"Qin","female",94},{1008,"Cai","male",89}};
	struct work c[4];
	printf("删除前的学生成绩表:\n");
	for(i=0;i<5;i++)
	printf("\n学号%d:\n姓名: %s\n性别: %s\n成绩: %f\n",s[i].num,s[i].name,s[i].sex,s[i].score);
	for(i=0,j=0;i<5;i++)
	{
		if(s[i].score<60)
		flag++;
		if(s[i].score>=60||flag!=1)
		{
			c[j].num=s[i].num;
			strcpy(c[j].name,s[i].name);
			strcpy(c[j].sex,s[i].sex);
			c[j].score=s[i].score;
			j++;
		}
	}
	printf("\n删除后的学生成绩表:\n");
	for(i=0;i<4;i++)
	{
		printf("\n学号%d:\n姓名: %s\n性别: %s\n成绩: %f\n",c[i].num,c[i].name,c[i].sex,c[i].score);
	}
	return 0;
}

你可能感兴趣的:(原创)