输入m个学生,每个学生有4门课,在主调函数中输入学生的相关信息,编写三个函数: (1)求第一门课的平均分; (2)找出有两门课以上不及格的学生,并输出他们的学号和全部成绩,要求用指针函数实现:fl
2017-09-28 17:30
1016 查看
输入m个学生,每个学生有4门课,在主调函数中输入学生的相关信息,编写三个函数:
(1)求第一门课的平均分;
(2)找出有两门课以上不及格的学生,并输出他们的学号和全部成绩,要求用指针函数实现:float*Search(float(*p)[4],int n);
(3)找出全部成绩在85分以上的学生。
#include<stdio.h>
#define N 40
float average(float (*p)[4],int n)
{
int i;
float ave=0;
for(i=0;i<n;i++)
ave=ave+**(p+i);
ave=ave/n;
return ave;
}
float *Search(float (*p)[4],int n){
//找两门不及格的同学
int j,count=0;
for (j=0;j<4;j++){
if(*(*(p+n)+j)<60)
count++;
}
if(count>2)
return *(p+n);
else
return NULL;
}
void Good(int a[],float (*p)[4],int n){
//两门成绩85以上
int i,j,flag;
for (i=0;i<n;i++){
flag=1;
for (j=0;j<4&&flag;j++){
if (*(*(p+i)+j)<85)
flag=0;
}
if (flag){
printf("%6d",a[i]);
for (j=0;j<4;j++)
printf("%6.1f",*(*(p+i)+j));
printf("\n");
}
}
}
int main()
{
float score
[4],ave,*s;
int n,i,j,a
;
printf("输入学生个数:\n");
scanf("%d",&n);
printf("输入%d个学生的学号与成绩:\n",n);
for(i=0;i<n;i++){
scanf("%d",&a[i]);
for(j=0;j<4;j++)
scanf("%f",&score[i][j]);
}
ave=average(score,n);
printf("第一门课的平均成绩为:%.2f\n",ave);
printf("两门课以上不及格的同学的学号和成绩为:\n");
for (i=0;i<n;i++){
s=Search(score,i);
if (s){
printf("%6d",a[i]);
for (j=0;j<4;j++)
printf("%6.1f",score[i][j]);
printf("\n");
}
}
printf("全部成绩在85分以上的学生的学号和成绩:\n");
Good(a,score,n);
return 0;
}
(1)求第一门课的平均分;
(2)找出有两门课以上不及格的学生,并输出他们的学号和全部成绩,要求用指针函数实现:float*Search(float(*p)[4],int n);
(3)找出全部成绩在85分以上的学生。
#include<stdio.h>
#define N 40
float average(float (*p)[4],int n)
{
int i;
float ave=0;
for(i=0;i<n;i++)
ave=ave+**(p+i);
ave=ave/n;
return ave;
}
float *Search(float (*p)[4],int n){
//找两门不及格的同学
int j,count=0;
for (j=0;j<4;j++){
if(*(*(p+n)+j)<60)
count++;
}
if(count>2)
return *(p+n);
else
return NULL;
}
void Good(int a[],float (*p)[4],int n){
//两门成绩85以上
int i,j,flag;
for (i=0;i<n;i++){
flag=1;
for (j=0;j<4&&flag;j++){
if (*(*(p+i)+j)<85)
flag=0;
}
if (flag){
printf("%6d",a[i]);
for (j=0;j<4;j++)
printf("%6.1f",*(*(p+i)+j));
printf("\n");
}
}
}
int main()
{
float score
[4],ave,*s;
int n,i,j,a
;
printf("输入学生个数:\n");
scanf("%d",&n);
printf("输入%d个学生的学号与成绩:\n",n);
for(i=0;i<n;i++){
scanf("%d",&a[i]);
for(j=0;j<4;j++)
scanf("%f",&score[i][j]);
}
ave=average(score,n);
printf("第一门课的平均成绩为:%.2f\n",ave);
printf("两门课以上不及格的同学的学号和成绩为:\n");
for (i=0;i<n;i++){
s=Search(score,i);
if (s){
printf("%6d",a[i]);
for (j=0;j<4;j++)
printf("%6.1f",score[i][j]);
printf("\n");
}
}
printf("全部成绩在85分以上的学生的学号和成绩:\n");
Good(a,score,n);
return 0;
}
相关文章推荐
- (要求使用指针方法)一个班有四名学生,五门课。(1)求第一门课的平均分;(2)找出有两门以上课不及格的学生,输出他们的学号、全部课程成绩和平均成绩;(3)找出平均成绩在90分以上或全部课程成绩均在85
- 习题 8.15 有一个班4个学生,5门课程。1. 求第1门课程的平均分;2.找出有两门以上课程不及格的学生,输出他们的学号和全部课程成绩及平均成绩;3.找出平均成绩在90分以上或全部课程成绩在85分以
- 某班5个学生,3门课,编写3个函数实现以下功能: //(1)求各门课的平均分 //(2)找出三门都不及格的学生,输出其全部信息 //(3)找出3门课平均分在80-90之间的学生,输出其信息。
- 例 8.25 有a个学生,每个学生有b门课程的成绩。要求在用户输入学生序号以后,能输出该学生的全部成绩。用指针函数来实现。
- 有a个学生,每个学生有b门课程的成绩。要求用户输入学生序号以后,能输出该学生的全部成绩用指针函数来实现
- 有10个学生,每个学生的数据包括学号、姓名、3门课的成绩,编写如下函数: (1) 输入10个学生 的基本信息(input); (2) 求出每个学生的平均分(average); (3) 求出平均分
- 例8.25有a个学生,每个学生有b门课程的成绩。要求在用户输入学生序号以后,能输出该学生的全部成绩。用指针函数实现。
- 编写一个函数print,打印一个学生的成绩数组,该书组中有五个学生的数据,每个学生的数据包括num(学号)、name(姓名)、score(3门课的成绩)、用主函数输入这些数据,用print函数输出这些
- 例 8.15 在例8.14基础上,查找有一门以上课程不及格的学生,输出他们的全部课程的成绩。
- 34. 有4个学生,每个学生有5门课程的成绩,输入任意学号,输出该学生的全部成绩(完成fun函数)。
- 查找有一门以上课程不及格的学生,输出他们的全部成绩
- 实验7(4)编写程序,输入一批学生的成绩,遇0或负数则输入结束,要求统计并输出优秀(大于85)、通过(60~84)和不及格(小于60)的学生人数。
- 有10个学生,每个学生的数据包括学号、姓名、3门课程的成绩。读入这10个学生的数据,要求输出3门课程的总平均成绩,以及个人平均分最高的学生的数据
- 输出学生成绩。本题要求编写程序,根据输入学生的成绩,统计并输出学生的平均成绩、最高成绩和最低成绩。建议使用动态内存分配来实现。
- 输入若干个学生成绩(每个学生四门课程)找出成绩大于90分学生姓名和学号(用函数指针实现)
- 习题 9.5 有10个学生,每个学生的数据包括学号、姓名、3门课程的成绩,从键盘输入10个学生数据,要求输出3门课程总平均成绩,以及最高分的学生的数据(包括学号、姓名、3门课程成绩、平均分数)。
- 查找一门以上课程不及格的学生,输出他们的全部课程的成绩
- 习题 9.3 编写一个函数print,打印一个学生的成绩数组,该数组中有5个学生的数据记录,每个记录包括num,name,score[3],用主函数输入这些记录,用print函数输出这些记录。
- Student类,包括学生姓名、性别、年龄、Java成绩。要求创建五个该类对象,输出每个学生信息,计算并输出这五个学生Java成绩的平均值, 以及计算并输出他们Ja
- 实验七4编写程序,输入一批学生的成绩,遇0或负数则输入结束,要求统计并输出优秀(大于85)、通过(60~84)和不及格(小于60)的学生人数。