定义个二维数组用来存放3个学生语文、数学、英语和历史的成绩,定义个Average函数(用行指针做参数)计算每个学生的平均成绩,定义个Show函数(用列指针微参数)输出每个学生的每门课的成绩和平均成绩
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- a5156520 2021-11-25 12:56关注
一个简单的实现:
#include <stdio.h> void Average(int gradeRow[] [4],int row,int * ave ){ int i=0; while(i<row){ //下面第二个*取grade指向的行的第一个的位置,第一个*取后面运算式表示的位置存储的成绩 ave[i]+=*(*gradeRow+0); ave[i]+=*(*gradeRow+1); ave[i]+=*(*gradeRow+2); ave[i]+=*(*gradeRow+3); ave[i]=(ave[i]/4); //printf("ave[%d]=%d\n",i,ave[i]); i++; gradeRow++; } } void show(int * gradeCol,int row,int col,int * ave){ int i=0; int j =0; while(i<row*col){ printf("第%d个学生的成绩:\n",(j+1)); printf("语文:%d\n",gradeCol[i]); printf("数学:%d\n",gradeCol[i+1]); printf("英语:%d\n",gradeCol[i+2]); printf("历史:%d\n",gradeCol[i+3]); printf("平均成绩:%d\n",ave[j]); i+=4; j++; } } int main(void){ int grade[3][4]={ {80,78,98,79}, {65,76,98,78}, {87,68,94,83}, }; int ave[3]={0,0,0}; Average(grade,3,ave); show(&grade[0][0],3,4,ave); return 0; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报 编辑记录
悬赏问题
- ¥15 yolov8边框坐标
- ¥15 matlab中使用gurobi时报错
- ¥15 这个主板怎么能扩出一两个sata口
- ¥15 不是,这到底错哪儿了😭
- ¥15 2020长安杯与连接网探
- ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
- ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
- ¥16 mybatis的代理对象无法通过@Autowired装填
- ¥15 可见光定位matlab仿真
- ¥15 arduino 四自由度机械臂