有10个学生,每个学生的数据包括学号、姓名、3门课的成绩,编写如下函数: (1)输入10个学生 的基本信息(input); (2)求出每个学生的平均分(average); (3)求出平均分
来源:互联网 发布:拜占庭东罗马知乎 编辑:程序博客网 时间:2024/05/18 00:56
1、 有10个学生,每个学生的数据包括学号、姓名、3门课的成绩,编写如下函数:
(1) 输入10个学生 的基本信息(input);
(2) 求出每个学生的平均分(average);
(3) 求出平均分最高的学生信息(high_score);
(4) 输出每个学生的信息(output);
(5) 按平均分从高到低的顺序排序(sort)。
#include<stdio.h>
#define N 10
typedef struct student{
int num;
char name[20];
float score[3];
float aver;
}S;
void input(S *ps,int n){
int i;
S *p_end;
printf("输入学生的学号、姓名、三门课的成绩:\n");
p_end=ps+n;
for(;ps<p_end;ps++){
scanf("%d%s",&(ps->num),ps->name);
for(i=0;i<3;i++)
scanf("%f",&(ps->score[i]));
}
}
void average(S *ps,int n){
int i;
S *p_end;
p_end=ps+n;
for(;ps<p_end;ps++){
ps->aver=0;
for(i=0;i<3;i++)
ps->aver+=ps->score[i];
ps->aver/=3;
}
}
S *high_score(S *ps,int n){
int i;
float high=0;
S *p;
S *p_end;
p_end=ps+n;
p=ps;
for(;ps<p_end;ps++)
if((ps->aver)>high){
high=ps->aver;
p=ps;
}
printf("平均分最高的学生为:\n");
printf("%8d%10s",p->num,p->name);
for(i=0;i<3;i++){
printf("%7.1f",p->score[i]);
}
printf("%7.1f",p->aver);
printf("\n");
return p;
}
void output(S *ps,int n){
int i;
S *p_end;
p_end=ps+n;
printf("学生的基本信息:\n");
for(;ps<p_end;ps++){
printf("%8d%10s",ps->num,ps->name);
for(i=0;i<3;i++){
printf("%7.1f",ps->score[i]);
}
printf("%7.1f",ps->aver);
printf("\n");
}
}
void sort(S *ps,int n){
int i,j,k;
S t;
S *p_end;
for(i=0;i<n-1;i++){
k=i;
for(j=i+1;j<n;j++)
if((ps+k)->aver<(ps+j)->aver)
k=j;
if(k!=i){
t=*(ps+i); *(ps+i)=*(ps+k); *(ps+k)=t;
}
}
printf("排序后:\n");
p_end=ps+n;
for(;ps<p_end;ps++){
printf("%8d%10s",ps->num,ps->name);
for(i=0;i<3;i++){
printf("%7.1f",ps->score[i]);
}
printf("%7.1f",ps->aver);
printf("\n");
}
}
int main()
{
int i,n;
S a[N];
printf("输入学生个数:\n");
scanf("%d",&n);
input(a,n);
average(a,n);
output(a,n);
high_score(a,n);
sort(a,n);
return 0;
}
- 有10个学生,每个学生的数据包括学号、姓名、3门课的成绩,编写如下函数: (1)输入10个学生 的基本信息(input); (2)求出每个学生的平均分(average); (3)求出平均分
- 有10个学生,每个学生的数据包括学号、姓名和1门课成绩,编写如下函数: (1)根据学生的信息建立链表; (2)输出链表; (3)输入一个学生的学号,查找链表中是否有该学生; (4)在第i
- (c++)有N个学生,每个学生的数据包括学号、姓名、3门课的成绩,从键盘输入N个学生的数据,要求打印出3门课的总平均成绩,以及最高分的学生的数据(包括学号、姓名、3门课成绩)
- 有5个学生每个学生有3门课程的成绩,从键盘输入学生数据(包括学号,姓名,3门成绩)。
- 输入m个学生,每个学生有4门课,在主调函数中输入学生的相关信息,编写三个函数: (1)求第一门课的平均分; (2)找出有两门课以上不及格的学生,并输出他们的学号和全部成绩,要求用指针函数实现:fl
- 有10个学生,每个学生的数据包括学号、姓名、3门课的成绩,从键盘输入10个学生数据,要求打印出3门课总平均成绩,以及最高分的学生的数据(包括学号、姓名、3门课的成绩、平均分数)。
- 有10个学生,每个学生的数据包括学号,姓名,3门课的成绩。对其进行处理
- 用文件存储学生数据,有5个学生,每个学生有3门课程成绩,从键盘输入数据(包括学号、姓名、3门课成绩),计算出平均成绩,将原有数据和计算出的平均分数存放在磁盘文件stud中
- 从键盘输入10个学生数据,要求打印出3门课总平均成绩,以及最高分的学生的数据(包括学号、姓名、3门课成绩、平均分数)
- 一共有10个学生,每个学生5门课程,求每个学生的平均成绩
- 输入若干个学生成绩(每个学生四门课程)找出成绩大于90分学生姓名和学号(用函数指针实现)
- (c++)现有有N个学生的数据记录,每个记录包括学号、姓名、三科成绩。 编写一个函数input,用来输入一个学生的数据记录。 编写一个函数print,打印一个学生的数据记录。 在主函数调用这两个函数,
- 输入M个学生N门成绩,并求出其每个人的平均分
- 34. 有4个学生,每个学生有5门课程的成绩,输入任意学号,输出该学生的全部成绩(完成fun函数)。
- 输入三个班,每班10个学生的成绩,求和并求平均分(数组)
- 输入3个学生的学号、姓名和三门功课成绩,输出平均分最高的同学
- 【数据结构上机作业】输入一批学生的成绩(至少包括学生学号、姓名、课程成绩),用单链表存储,输出大于平均成绩的学生信息。
- 建立抽象类Student,添加属性学号,姓名,平均分,添加方法show()显示学生的个人信息(学号,姓名),添加抽象方法average()计算学生的平均成绩。建立Student的子类studentIT
- XPath+第三节
- python--leetcode682. Baseball Game
- Git服务器搭建
- 【知了堂学习笔记】java中的正则表达式
- 大话线性代数
- 有10个学生,每个学生的数据包括学号、姓名、3门课的成绩,编写如下函数: (1)输入10个学生 的基本信息(input); (2)求出每个学生的平均分(average); (3)求出平均分
- Python 乱码,系统默认编码
- 001-第一个C程序,hello
- Java后台框架篇--使用SpringSocial 连接社交网络
- 一些爱不释手的 Chrome 插件
- Mysql安装步骤(1)源码编译
- IIC介绍(三)之主机介绍
- itk中创建一个图像数据
- oracle数据结构