回复 2 楼 wssy213
#include <stdio.h>
#include <string.h>
struct Student{
float Chinese;
float Math;
float English;
float Physics;
float Biology;
char
name[5];
}stu[5];
void main()
{
float t;
float a,b,c,d,e;
strcpy(stu[0].name,"张三");
strcpy(stu[1].name,"李四");
strcpy(stu[2].name,"王五");
strcpy(stu[3].name,"赵高");
strcpy(stu[4].name,"王青");
float score;
float score1=0,score2=0,score3=0,score4=0,score5=0;
for(int i=0;i<5;i++)
{
printf("请输入第%d名学生的各科成绩:",i+1);
scanf("%f%f%f%f%f",&stu[i].Chinese,&stu[i].Math,&stu[i].English,&stu[i].Physics,&stu[i].Biology);
score=(stu[i].Chinese+stu[i].Math+stu[i].English+stu[i].Physics+stu[i].Biology)/5;
printf("第%d个学生的平均分为:%f n",i+1,score);
}
printf("语文课的平均分为:");
for(i=0;i<5;i++)
score1=(score1+stu[i].Chinese);
printf("%f n",score1/5);
printf("数学课的平均分为:");
for(int j=0;j<5;j++)
score2=(score2+stu[j].Math);
printf("%f n",score2/5);
printf("英语课的平均分为:");
for(i=0;i<5;i++)
score3=(score3+stu[i].English);
printf("%f n",score3/5);
printf("物理课的平均分为:");
for(i=0;i<5;i++)
score4=(score4+stu[i].Physics);
printf("%f n",score4/5);
printf("生物课的平均分为:");
for(i=0;i<5;i++)
score5=(score5+stu[i].Biology);
printf("%f n",score5/5);
for(j=0;j<5;j++)
{
for(i=j+1;i<5;i++)
{
if(stu[j].Chinese<stu[i].Chinese)
{
t=stu[i].Chinese;
stu[i].Chinese=stu[j].Chinese;
stu[j].Chinese=t;
}
}
}
printf("语文成绩排序为:");
for(i=0;i<5;i++)
printf("%f ",stu[i].Chinese);
for(i=0;i<5;i++)
{
if(strcmp(stu[0].Chinese,stu[i].Chinese)==0)
printf("%s ",stu[i].name);
}
}
总提示 cannot convert parameter 1 from 'float' to 'const char * 这个错误,该怎么解决啊?