C--使用指针做的一个小程序
来源:互联网 发布:linux 组权限 设置 编辑:程序博客网 时间:2024/05/29 07:05
程序描述:
一个班中有四个学生,每个学生有五门课程
要求:
- 求第一门课程的平均分
- 找出有两门以上不及格学生,输出学号,全部课程成绩及平均分
- 找出平均成绩在90分以上或全部课程成绩在85分以上的学生
编写三个函数实现以上三个要求
代码
#include <stdio.h>int main(){ //声明函数 float getAvage(float arr[3][6]); void getFailure(float (*p)[6]); void getSuccess(float (*p)[6]); int i,j; //定义二维数组,用于保存数据,四行六列,多出来的一列用于保存学号 //为方便输入数据,这个地方仅设三个学生 float arr[3][6]; printf("请按照以下顺序输入数据,学号,数学,语文,英语,物理,化学\n"); for(i=0;i<3;i++){ printf("第%d个学生:\n",i+1); for(j=0;j<6;j++){ scanf("%f",*(arr+i)+j); } } printf("第一门的平均值为:%5.2f\n",getAvage(arr)); getFailure(arr); getSuccess(arr); return 0;}//实现第一个功能 float getAvage(float arr[3][6]){ int i; float ava=0,sum=0,(*p)[6]=arr; for(i=0;i<3;i++) sum+=*(*(p+i)+1); ava=sum/3; return ava;} //实现第二个功能:找出有两门以上不及格学生,输出学号,全部课程成绩及平均分//参数为一个指向浮点型数组的指针变量 void getFailure(float (*p)[6]){ int i,j,k,std_num,num=0; float sum=0; for(i=0;i<3;i++){ for(j=0;j<6;j++){ if(*(*(p+i)+j)<60){ num++; } } if(num>=2){//成绩两门不及格 //输出学号 std_num=(int)*(*(p+i)); printf("成绩两门不及格的学生学号:%d\n",std_num); //输出成绩 printf("各科成绩:\n"); for(k=1;k<6;k++){ //计算该学生成绩总和 sum+=*(*(p+i)+k); printf("%3.2f",*(*(p+i)+k)); } //输出平均分 printf("\n平均分:\n"); printf("%3.2f\n",sum/5); } //计数器归零 num=0; //成绩归零 sum=0; } } //第三个功能:找出平均成绩在90分以上或全部课程成绩在85分以上的学生 void getSuccess(float (*p)[6]){ int i,j,k,n; float sum; printf("优秀学生:\n"); //循环遍历计算平均分 for(j=0;j<3;j++){ for(i=1;i<6;i++){ if(*(*(p+j)+i)>85) n++; sum+=*(*(p+j)+i); } //平均成绩在90分以上或全部课程成绩在85分以上的学生 if(sum/5>90||n==5){ printf("学号为:%d",(int)*(*(p+j))); } //成绩归零 sum=0; //计数器归零 n=0; } }
阅读全文
0 0
- C--使用指针做的一个小程序
- 用VB做的一个小程序
- 关于指针的一个小程序
- 关于指针的一个小程序
- 关于指针的一个小程序
- 一个考察指针的小程序
- 理解一个经典的指针小程序
- 一天练习一个小C/C++程序(二) 指针到底该如何使用
- C语言-------------指针小程序的练习
- abap 指针使用的一个小例子
- C小程序 - 分析一个多线程的小程序
- 关于C语言的一个小程序
- 一个简单的C语言小程序
- 记一个关于C语言函数指针使用的小例子
- java做的一个时钟的小程序
- 今天做的一个ruby解析xml的小程序
- 做一个小小的记录工作时间的小程序
- 开始给表哥做一个集邮统计的小程序
- Hive执行sql,报内存溢出
- web.xml文件中节点的加载顺序
- springmvc中的aop{todo}
- Vue类重构代码——01 准备:提取工具类方法
- C++调用webservice
- C--使用指针做的一个小程序
- ASP.NET 如何获取地址栏URL地址
- 决策树(三)cart算法
- 集合
- Java多线程 start()和run()方法
- 简单的表白公式
- python mysql 查询事务异常------table doesnt exist
- LeetCode
- 一个操作系统的实现-3_保护模式2