C语言 | 计算总平均分及第n个人的成绩

举报
C语言入门到精通 发表于 2021/02/11 00:32:08 2021/02/11
【摘要】 例32:有一个班,3个学生,各学习4门课,C语言编程实现计算总平均分数以及第n个学生的成绩,要求使用指针。解题思路:今天这道例题分为3部分,下述求的是第3个学生,读者请思考怎么改为求第n个学生。第一步:求平均分函数:void average(float *p,int n)//自定义求平均成绩函数 { float *p_end;//定义浮点类型指针变量 float s...

例32:有一个班,3个学生,各学习4门课,C语言编程实现计算总平均分数以及第n个学生的成绩,要求使用指针。

解题思路:今天这道例题分为3部分,下述求的是第3个学生,读者请思考怎么改为求第n个学生。

第一步:求平均分函数:

void average(float *p,int n)//自定义求平均成绩函数 
{
  float *p_end;//定义浮点类型指针变量 
  float sum=0,aver;//定义浮点型变量 
  p_end=p+n-1;//把地址赋给指针变量 
  for(;p<=p_end;p++)//for循环,注意第一处分号 
  { sum=sum+(*p);//总和 
  } aver=sum/n;//平均分 
  printf("平均数是:%f",aver);//输出平均分 
  printf("\n");//换行 
}

第二步:求第n个学生成绩函数

void search_Grade(float (*p)[4],int n)//自定义求第n个学生成绩函数 
{
  int i;//定义变量 
  printf("第%d个学生的成绩是:",n+1);//输出,注意此处我写的是n+1,数组下标是从0开始的 
  for(i=0;i<4;i++)//for循环 
  { printf("%5.2f ",*(*(p+n)+i));
  }
}

源代码演示:

#include<stdio.h>//头文件 
int main()//主函数 
{
  void average(float *p,int n);//函数声明 
  void search_Grade(float (*p)[4],int n);//函数声明 
  float score[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};//定义浮点型数组 
  average(*score,12);//平均成绩 
  search_Grade(score,2);//第3个学生的成绩,这里写2是因为按照数组从0开始 
  return 0;//主函数返回值为0 
}
void average(float *p,int n)//自定义求平均成绩函数 
{
  float *p_end;//定义浮点类型指针变量 
  float sum=0,aver;//定义浮点型变量 
  p_end=p+n-1;//把地址赋给指针变量 
  for(;p<=p_end;p++)//for循环,注意第一处分号 
  { sum=sum+(*p);//总和 
  } aver=sum/n;//平均分 
  printf("平均数是:%f",aver);//输出平均分 
  printf("\n");//换行 
}
void search_Grade(float (*p)[4],int n)//自定义求第n个学生成绩函数 
{
  int i;//定义变量 
  printf("第%d个学生的成绩是:",n+1);//输出,注意此处我写的是n+1,数组下标是从0开始的 
  for(i=0;i<4;i++)//for循环 
  { printf("%5.2f ",*(*(p+n)+i));
  }
}

编译运行结果如下:

平均数是:6.500000
3个学生的成绩是: 9.00 10.00 11.00 12.00
--------------------------------
Process exited after 0.07228 seconds with return value 0
请按任意键继续. . .
C语言 | 求平均分及第n个人成绩 mp.weixin.qq.com图标

文章来源: zhuanlan.zhihu.com,作者:小林C语言,版权归原作者所有,如需转载,请联系作者。

原文链接:zhuanlan.zhihu.com/p/336923997

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。