期末类型题~~跪谢!!!按题目要求!谢谢!
编程实现学生信息管理。建立学生结构体类型(学号、姓名、年龄、地址、三门课程成绩、平均成绩、成
绩等级、班级排名)。该程序应包含如下函数,函数功能描述如下:
1) 输入函数。主要完成录入学生信息:学号、姓名、年龄、地址、三门课程成绩。注:平均成绩、成绩等级、班级排名是通过函数算出来的,不要直接录入。
2) 求平均值函数。为每个学生计算三门课程的平均成绩。
3) 计算成绩等级函数。平均成绩>=90等级为A, 80<=平均成绩<90等级为B,70<=平均成绩 <80 为C;60<=平均成绩<70为D,平均成绩<60等级为E。
4) 计算学生成绩排名函数。为每个学生计算班级成绩排名的名次,即班级排名。
5) 输出函数。按照学号从小到大顺序,输出所有学生的所有信息。(一个学生信息占一行)
C语言简单基础题目!
答案:2 悬赏:50 手机版
解决时间 2021-03-19 14:29
- 提问者网友:我是女神我骄傲
- 2021-03-18 18:01
最佳答案
- 五星知识达人网友:琴狂剑也妄
- 2021-03-18 19:11
#include
struct student
{
int number;
char name[20];
int age;
char address[50];
float class1grade;
float class2grade;
float class3grade;
float avegrade;
char ranklevel;
int rank;
};
student schoolstu[100];
void input(int n) //学生人数n。
{
for(int i=0;i
{
scanf("%d%s%d%s",&schoolstu[i].number,schoolstu[i].name,&schoolstu[i].age,schoolstu[i].address);
scanf("%f%f%f",&schoolstu[i].class1grade,&schoolstu[i].class2grade,&schoolstu[i].class3grade);
}
}
void average(int n)
{
for(int i=0;i
{
schoolstu[i].avegrade=(schoolstu[i].class1grade+schoolstu[i].class2grade+schoolstu[i].class3grade)/3;
}
}
void gradeclass(int n)
{
for(int i=0;i
{
if(schoolstu[i].avegrade>=90) schoolstu[i].ranklevel = 'A';
else if(schoolstu[i].avegrade>=80 && schoolstu[i].avegrade<90) schoolstu[i].ranklevel = 'B';
else if(schoolstu[i].avegrade>=70 && schoolstu[i].avegrade<80) schoolstu[i].ranklevel = 'C';
else if(schoolstu[i].avegrade>=60 && schoolstu[i].avegrade<70) schoolstu[i].ranklevel = 'D';
else schoolstu[i].ranklevel = 'E';
}
}
void rank(int n)
{
int temp=1;
for(int i=0;i
{
for(int j=0;j
{
if(schoolstu[i].avegrade
temp++;
}
schoolstu[i].rank = temp;
}
}
void print(int n)
{
for(int i=0;i
{
printf("%d %s %d %s ",schoolstu[i].number,schoolstu[i].name,schoolstu[i].age,schoolstu[i].address);
printf("%f %f %f %f ",schoolstu[i].class1grade,schoolstu[i].class2grade,schoolstu[i].class3grade,schoolstu[i].avegrade);
printf("%c %d\n",schoolstu[i].ranklevel,schoolstu[i].rank);
}
}
int main()
{
int n=0;
scanf("%d",&n);
input(n);
average(n);
gradeclass(n);
rank(n);
print(n);
return 0;
}
struct student
{
int number;
char name[20];
int age;
char address[50];
float class1grade;
float class2grade;
float class3grade;
float avegrade;
char ranklevel;
int rank;
};
student schoolstu[100];
void input(int n) //学生人数n。
{
for(int i=0;i
scanf("%d%s%d%s",&schoolstu[i].number,schoolstu[i].name,&schoolstu[i].age,schoolstu[i].address);
scanf("%f%f%f",&schoolstu[i].class1grade,&schoolstu[i].class2grade,&schoolstu[i].class3grade);
}
}
void average(int n)
{
for(int i=0;i
schoolstu[i].avegrade=(schoolstu[i].class1grade+schoolstu[i].class2grade+schoolstu[i].class3grade)/3;
}
}
void gradeclass(int n)
{
for(int i=0;i
if(schoolstu[i].avegrade>=90) schoolstu[i].ranklevel = 'A';
else if(schoolstu[i].avegrade>=80 && schoolstu[i].avegrade<90) schoolstu[i].ranklevel = 'B';
else if(schoolstu[i].avegrade>=70 && schoolstu[i].avegrade<80) schoolstu[i].ranklevel = 'C';
else if(schoolstu[i].avegrade>=60 && schoolstu[i].avegrade<70) schoolstu[i].ranklevel = 'D';
else schoolstu[i].ranklevel = 'E';
}
}
void rank(int n)
{
int temp=1;
for(int i=0;i
for(int j=0;j
if(schoolstu[i].avegrade
}
schoolstu[i].rank = temp;
}
}
void print(int n)
{
for(int i=0;i
printf("%d %s %d %s ",schoolstu[i].number,schoolstu[i].name,schoolstu[i].age,schoolstu[i].address);
printf("%f %f %f %f ",schoolstu[i].class1grade,schoolstu[i].class2grade,schoolstu[i].class3grade,schoolstu[i].avegrade);
printf("%c %d\n",schoolstu[i].ranklevel,schoolstu[i].rank);
}
}
int main()
{
int n=0;
scanf("%d",&n);
input(n);
average(n);
gradeclass(n);
rank(n);
print(n);
return 0;
}
全部回答
- 1楼网友:一把行者刀
- 2021-03-18 19:55
1 d 2 c 3 d 4 b 5 c
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯