错误 1 error C2440: "函数": 无法从"student"转换为"student *"
有n个结构体变量,内含学生学号,姓名和3门课程的成绩。要求输出平均成绩最高的学生的信息(包括学号,姓名,3门课程和平均成绩)#include<stdio.h>#defin...
有n个结构体变量,内含学生学号,姓名和3门课程的成绩。要求输出平均成绩最高的学生的信息(包括学号,姓名,3门课程和平均成绩)
#include<stdio.h>
#define n 3
struct student
{
int num;
char name[20];
float score[3];
float aver;
};
int main()
{
void input(struct student stu[]);
struct student max(struct student stu[]);
void print(struct student stu[]);
struct student stu[n],*p=stu;
input(p);
print(max(p));
return 0;
}
void input(struct student stu[])
{
int i;
printf("shu ru everyone student's num name score:\n");
for(i=0;i<n;i++)
{
scanf("%d %s %f %f %f",&stu[i].num,&stu[i].name,&stu[i].score[0],&stu[i].score[1],&stu[i].score[2]);
stu[i].aver=(stu[i].score[0]+stu[i].score[1]+stu[i].score[2])/3.0;
}
}
struct student max(struct student stu[])
{
int i,m=0;
for(i=0;i<n;i++)
if(stu[i].aver>stu[m].aver) m=i;
return stu[m];
}
void print(struct student stu[])
{
printf("\nthe max score student is:\n");
printf("num:%d\nname:%s\nthree score:%5lf,%5lf,%5lf\naver%6.2lf\n",stud.num,stud.name,stud.score[0],stud.score[1],stud.score[2],stud.aver);
}
错误 1 error C2440: “函数”: 无法从“student”转换为“student *” e:\新建文件夹\consoleapplication3\consoleapplication3\fkhf.c 18
警告 2 warning C4024: “print”: 形参和实参 1 的类型不同 e:\新建文件夹\consoleapplication3\consoleapplication3\fkhf.c 18
警告 3 warning C4244: “=”: 从“double”转换到“float”,可能丢失数据 e:\新建文件夹\consoleapplication3\consoleapplication3\fkhf.c 29
错误 4 error C2065: “stud”: 未声明的标识符 e:\新建文件夹\consoleapplication3\consoleapplication3\fkhf.c 44
错误 5 error C2224: “.num”的左侧必须具有结构/联合类型 e:\新建文件夹\consoleapplication3\consoleapplication3\fkhf.c 44
错误 6 error C2224: “.name”的左侧必须具有结构/联合类型 e:\新建文件夹\consoleapplication3\consoleapplication3\fkhf.c 44
错误 7 error C2224: “.score”的左侧必须具有结构/联合类型 e:\新建文件夹\consoleapplication3\consoleapplication3\fkhf.c 44
错误 8 error C2224: “.aver”的左侧必须具有结构/联合类型 e:\新建文件夹\consoleapplication3\consoleapplication3\fkhf.c 44
9 IntelliSense: 不存在从 "student" 到 "student *" 的适当转换函数 e:\新建文件夹\ConsoleApplication3\ConsoleApplication3\fkhf.c 18
10 IntelliSense: 未定义标识符 "stud" e:\新建文件夹\ConsoleApplication3\ConsoleApplication3\fkhf.c 44
我是新生求细解,谢谢。 展开
#include<stdio.h>
#define n 3
struct student
{
int num;
char name[20];
float score[3];
float aver;
};
int main()
{
void input(struct student stu[]);
struct student max(struct student stu[]);
void print(struct student stu[]);
struct student stu[n],*p=stu;
input(p);
print(max(p));
return 0;
}
void input(struct student stu[])
{
int i;
printf("shu ru everyone student's num name score:\n");
for(i=0;i<n;i++)
{
scanf("%d %s %f %f %f",&stu[i].num,&stu[i].name,&stu[i].score[0],&stu[i].score[1],&stu[i].score[2]);
stu[i].aver=(stu[i].score[0]+stu[i].score[1]+stu[i].score[2])/3.0;
}
}
struct student max(struct student stu[])
{
int i,m=0;
for(i=0;i<n;i++)
if(stu[i].aver>stu[m].aver) m=i;
return stu[m];
}
void print(struct student stu[])
{
printf("\nthe max score student is:\n");
printf("num:%d\nname:%s\nthree score:%5lf,%5lf,%5lf\naver%6.2lf\n",stud.num,stud.name,stud.score[0],stud.score[1],stud.score[2],stud.aver);
}
错误 1 error C2440: “函数”: 无法从“student”转换为“student *” e:\新建文件夹\consoleapplication3\consoleapplication3\fkhf.c 18
警告 2 warning C4024: “print”: 形参和实参 1 的类型不同 e:\新建文件夹\consoleapplication3\consoleapplication3\fkhf.c 18
警告 3 warning C4244: “=”: 从“double”转换到“float”,可能丢失数据 e:\新建文件夹\consoleapplication3\consoleapplication3\fkhf.c 29
错误 4 error C2065: “stud”: 未声明的标识符 e:\新建文件夹\consoleapplication3\consoleapplication3\fkhf.c 44
错误 5 error C2224: “.num”的左侧必须具有结构/联合类型 e:\新建文件夹\consoleapplication3\consoleapplication3\fkhf.c 44
错误 6 error C2224: “.name”的左侧必须具有结构/联合类型 e:\新建文件夹\consoleapplication3\consoleapplication3\fkhf.c 44
错误 7 error C2224: “.score”的左侧必须具有结构/联合类型 e:\新建文件夹\consoleapplication3\consoleapplication3\fkhf.c 44
错误 8 error C2224: “.aver”的左侧必须具有结构/联合类型 e:\新建文件夹\consoleapplication3\consoleapplication3\fkhf.c 44
9 IntelliSense: 不存在从 "student" 到 "student *" 的适当转换函数 e:\新建文件夹\ConsoleApplication3\ConsoleApplication3\fkhf.c 18
10 IntelliSense: 未定义标识符 "stud" e:\新建文件夹\ConsoleApplication3\ConsoleApplication3\fkhf.c 44
我是新生求细解,谢谢。 展开
2个回答
2015-03-24
展开全部
应该是提示这里用错了吧:print(max(p));
追问
怎么改啊
能解释没
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |