结构体数组
问题:定义一个结构体数组,用来存放学生的姓名、总分、名次。从键盘输入一个班(10个人)的学生姓名和总分,计算出班级名次,并按名次顺序输出学生信息。#include<stdio.h>
struct student
{
char name;
int grade; //分数
int rank; //排名
} ;
main()
{ int i,n,j;
struct student man;
struct student t;
scanf("%d",&n); //学生人数
for(i=0;i<n;i++)
{
scanf("%s%d",&man.name,&man.grade);//输入名字和成绩
}
for(i=0;i<n-1;i++) //采用冒泡排序法
for(j=1;j<n-i-1;j++)
if(man.grade>man.grade)
{t=man.grade;man.grade=man.grade;man.grade=t;}
for(i=0;i<n;i++)
printf("%s%d%d",man.name,man.grade,man.rank=i+1);//按名次输出学生名字和姓名
}
错误为
24 10 D:\c语言\c语言的文件\尝试.cpp no match for 'operator=' (operand types are 'student' and 'int')
24 10 D:\c语言\c语言的文件\尝试.cpp candidate is:
2 8 D:\c语言\c语言的文件\尝试.cpp student& student::operator=(const student&)
2 8 D:\c语言\c语言的文件\尝试.cpp no known conversion for argument 1 from 'int' to 'const student&'
24 66 D:\c语言\c语言的文件\尝试.cpp cannot convert 'student' to 'int' in assignment
虽然百度搜过这些英文的意思但我还是不懂,求大佬告知,谢谢
{t=man.grade;man.grade=man.grade;man.grade=t;}应该是man.grade=t.grade jhq999 发表于 2021-11-26 20:37
谢谢你!
页:
[1]