【C语言】有一个班4个学生,5门课程。①求第一门课程的平均分②找出有两门以上课程不及格的学生,输出她们的学号和全部课程成绩及平均成绩③找出平均成绩在90分以上或全部课程成绩在85分以上的学生

阅读: 评论:0

【C语言】有一个班4个学生,5门课程。①求第一门课程的平均分②找出有两门以上课程不及格的学生,输出她们的学号和全部课程成绩及平均成绩③找出平均成绩在90分以上或全部课程成绩在85分以上的学生

【C语言】有一个班4个学生,5门课程。①求第一门课程的平均分②找出有两门以上课程不及格的学生,输出她们的学号和全部课程成绩及平均成绩③找出平均成绩在90分以上或全部课程成绩在85分以上的学生

有一个班4个学生,5门课程。①求第一门课程的平均分②找出有两门以上课程不及格的学生,输出她们的学号和全部课程成绩及平均成绩③找出平均成绩在90分以上或全部课程成绩在85分以上的学生。分别编3函数实现之

/*第一问*/
#include<stdio.h>
int main(){float ave(int (*p)[5]);	//函数声明 int score[4][5]={{78,86,55,59,90},{93,86,95,83,97},{89,88,90,86,91},{87,79,87,81,92}};printf("第一门课程平均分:%.2f",ave(score));		//函数调用及结果输出 return 0; 
}
float ave(int (*p)[5]){	//形参为指向一维数组的指针变量 int i;float sum=0;		//平均分可能为小数,故用浮点型 for(i=0;i<4;i++,p++){sum+=(*p)[0];	//累加每个学生的第一门课成绩 }return (sum/4);
}
/*第二问*/
#include<stdio.h>
int main(){void rev(int (*p)[5]);		//函数声明 int score[4][5]={{78,86,55,59,90},{93,86,95,83,97},{89,88,90,86,91},{87,56,87,55,92}};printf("两门以上成绩不及格的学生:n");		//函数调用及结果输出 rev(score);		//函数调用及其结果输出 return 0; 
}
void rev(int (*p)[5]){		//形参为指向一维数组的指针变量 int i,j,sign=0;		//0-1变量sign,用以判断该学生的成绩是否有两门及其以上科目不及格 for(i=0;i<4;i++,p++)	//从第一个学生开始判断 for(j=0,sign=0;j<5;j++)	//从第一个科目开始判断 if((*p)[j]<60)		//如果当前科目成绩不及格if(sign==1){	//且sign为1(之前有科目也不及格 )printf("学号:%d;各科成绩:",i+1);		//输出这个学生的学号 for(j=0;j<5;j++)		//输出这个学生的所有科目成绩 printf("%d,",(*p)[j]);printf("n");}else sign=1;	//如果sign不为1,这是该学生第一个不及格的科目,将sign置1 
}
/*第三问*/
#include<stdio.h>
int main(){void pd(int (*p)[5]);		//函数声明 int score[4][5]={{78,86,55,59,90},{90,88,91,86,92},{89,84,97,95,91},{87,56,87,55,92}};printf("平均成绩在90分以上或全部课程成绩在85分以上的学生学号:n");		pd(score);	//函数调用及结果输出 return 0; 
}
void  pd(int (*p)[5]){int i,j,sign=0;		//0-1变量sign,用以判断该学生的成绩是否有两门及其以上科目不及格 float sum;for(i=0;i<4;i++,p++){	//从第一个学生开始判断 for(j=0,sign=0;j<5;j++){	//从第一个科目开始判断 if((*p)[j]<85)	{		//若当前分数小于于85分 sign=1;	break;		//置sign=1(及已经不满足所有科目成绩都大于85分)跳出循环进入下一情况的判断 }else if(j==4&&sign==0) 		//当前科目是否是最后一个科目且sign=0(这位学生没有低于85分的科目) 	printf("NO.%dt",i+1);	//满足条件则输出该生学号 }if(sign==1){	//若sign=1,开始第二种情况的判断 for(j=0,sum=0;j<5;j++)	sum+=(*p)[j];	//累加该生没科成绩 if(sum/5>90)	//平均分是否大于90 printf("NO.%dt",i+1);	//是则输出该生学号 }}
}

本文发布于:2024-01-29 18:12:21,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170652314417333.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:课程   成绩   平均   学生   学号
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23