qq_36710036 2017-01-11 06:28 采纳率: 50%
浏览 923
已采纳

自学的c语言,编了个程序,很多错误,求解释.

#include
#include
typedef

struct student_st
{
int num;
char name[20];
int score1;
int score2;
int score3;
float average;
};

void createstudent(struct student_st a)
{
int i,j;
float average;
for(i=0;i<3;i++)
{
printf("enter student %d\n",i+1);
printf("学号为:");
scanf("%d",&stu[i].num);
printf("姓名是:");
scanf("%s",&stu[i].name);
printf("第1门成绩是:");
scanf("%d",&stu[i].Score1);
printf("第2门成绩是:");
scanf("%d",&stu[i].Score2);
printf("第3门成绩是:");
scanf("%d",&stu[i].Score3);
printf("\n");
stu[i].average = (stu[i].Score1+stu[i].Score2+stu[i].Score3)/3;

    }

}

void sortstudent(struct student_st b,int c)

{
int i,j,max;
struct student_st temp;
for(i=0;i {
max=i;
for(j=i+1;j {
if(stu[j].average > stu[max].average)
max=j;
}
if(max!=i)
{
temp = stu[j];
stu[j] = stu[i];
stu[i] = temp;
}

    }

}

int main()
{
int i;
struct student_st stu;
struct student_st stu[3];
createstudent(stu);
sortstudent(stu,3);
printf("id\tname\tscore1\tscore2\tscore3\taverage\n");
for(i=0;i<3;i++)
{
printf("%d%s%d%d%d%f",stu[i].num,stu[i].name,stu[i].score1,stu[i].score2,stu[i].score3,stu[i].average );
printf("\n");
exit(0);
}

展开全部

  • 写回答

3条回答 默认 最新

  • 智者知已应修善业 2017-01-11 17:25
    关注
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)
编辑
预览

报告相同问题?