首页 > 其他分享 >学生成绩统计(C案例)

学生成绩统计(C案例)

时间:2022-12-14 12:34:08浏览次数:35  
标签:good stu int sum 学生 案例 printf 成绩 void


有一个班级6个学生5门课,编写函数实现下列功能:
(1)函数average()求第n个指定课目的平均分;
(2)使用函数void findfail()找出有2门以上(含2门)课程不及格的学生,在主程序输出其学号和全部课程成绩及平均成绩;
(3)函数void findgood()找出平均成绩在90分以上或全部课程成绩在85分以上的学生, 在主程序输出其学号和全部课程成绩及平均成绩。
在主函数中输入数据并输出结果。
要求:尽量使用指针。

#include "stdafx.h"
void average(int *p_stu0)//第n个指定科目的平均分
{
int i,sum=0;
for(i=0;i<6;i++)
{
sum+=*p_stu0;
p_stu0++;
}
printf("%4.1f\n",sum/6.0);
}

void findfail(int(*p_stu1)[6],int *p_fail)
{
int h,i;
for(i=0;i<6;i++)//lie....yigexuesheng chengji
{
int j=0;
for(h=1;h<6;h++)//hang....yimenke chengji
{
if(*(*(p_stu1+h)+i)<60)
j++;
if(j==2)
{
*(p_fail+i)=1;
break;
}
}
}
}

void findgood(int(*p_stu2)[6],int* p_good,double* p0)//p0传递均值
{
int h,i,sum[6]={};
for(h=0;h<6;h++)//6个学生
{
int j=0;
for(i=1;i<6;i++)//五门课
{
if(*(*(p_stu2+i)+h)>85)
j++;
sum[h]+=*(*(p_stu2+i)+h);
}
if(j==5)
*(p_good+h)=1;
}

for(h=0;h<6;h++)
{
*(p0+h)=sum[h]/5.0;
if(*(p0+h)>85 && *(p_good+h)!=1)
*(p_good+h)=1;
}
}

void main()
{
int i,j,k;
int stu[6][6]={};//行:学号、依次的科目成绩;列,学生;

printf("请输入信息\n");
for(i=0;i<6;i++)
{
for(j=0;j<6;j++)
scanf("%d",&stu[j][i]);//先对列赋值,每个学生的数据是完整的;
printf("\n");
}

printf("指定科目的均分,请输入n:");
int n;
scanf("%d",&n);
average(&stu[n][0]);

printf("有2门以上(含2门)课程不及格的学生:\n");
int fail[6]={};
findfail(stu,fail);
for(i=0;i<6;i++)
{
if(fail[i]==1)
{
int sum=0;
printf("%03d ",stu[0][i]);
for(k=1;k<6;k++)
{
printf("%02d ",stu[k][i]);
sum+=stu[k][i];
}
printf("%4.1f\n",sum/5.0);
}
}

printf("平均成绩在90分以上或全部课程成绩在85分以上的学生:\n");
double ave_g[6]={};
int good[6]={};
findgood(stu,good,ave_g);
for(i=0;i<6;i++)
{
if(good[i]==1)
{
printf("%03d ",stu[0][i]);
for(k=1;k<6;k++)
printf("%02d ",stu[k][i]);
printf("%4.1f\n",ave_g[i]);
}
}
}


标签:good,stu,int,sum,学生,案例,printf,成绩,void
From: https://blog.51cto.com/u_14683970/5936357

相关文章

  • 数据移位(C案例)
    有n(n<=10)个整数,使前面各数顺序向后移m(m<=n)个位置,最后m个数变成最前面的m个数。编写函数shift(a,n,m)实现上述功能,在主函数中输入n个整数并输出调整后的n个数。例子Inp......
  • 【服务器数据恢复】raid6硬盘故障的数据恢复案例
    服务器故障:服务器中一组由16块硬盘组成的raid6磁盘阵列,其中有一块硬盘由于物理故障掉线,服务器上层虚拟机不可用,部分分区丢失。用户重启服务器后发现上层数据还是处于丢失状......
  • mybatis入门案例
    创建模块,导入坐标:<properties><maven.compiler.source>8</maven.compiler.source><maven.compiler.target>8</maven.compiler.target></prop......
  • java和vue的大学生奖学金助学金系统奖学金系统助学金系统
    简介大学生奖学金助学金系统。学生申请自己需要的奖助学金,上传证明材料。该学院的辅导员可以下载学生的证明材料以及根据学生的综合成绩来审核是否通过,若不通过请输入不通过......
  • html学习笔记五 安利网页案例
    将整个页面分为header、nav、banner、list、footer五大部分,下图1~3为网页的html结构部分,图4~7为网页的CSS样式表部分,图8和图9为网页实际效果......
  • java和vue的大学生奖学金助学金系统奖学金系统助学金系统
    简介大学生奖学金助学金系统。学生申请自己需要的奖助学金,上传证明材料。该学院的辅导员可以下载学生的证明材料以及根据学生的综合成绩来审核是否通过,若不通过请输入不通......
  • 汇编语言程序设计,计算比赛成绩
    一、设计内容与设计要求1.课程设计目的:《汇编语言程序设计》是计算机专业的重要的专业基础课,通过本课程设计使学生进一步巩固课堂所学,全面熟悉、掌握8088宏汇编语言程序设计......
  • KingbaseES V8R3集群备份恢复案例之--- timingbackup备份
    案例说明:KingbaseESV8R3集群自带了timingbackup.sh的脚本,可以通过一个脚本执行逻辑和物理备份,逻辑备份采用sys_dump,物理备份适用sys_basebackup,本案例详细记录了脚本的使......
  • MATLAB数据挖掘用改进的K-Means(K-均值)聚类算法分析高校学生的期末考试成绩数据
    全文链接:http://tecdat.cn/?p=30832原文出处:拓端数据部落公众号本文首先阐明了聚类算法的基本概念,介绍了几种比较典型的聚类算法,然后重点阐述了K-均值算法的基本思想,对K-......
  • IDEA学生认证的步骤详解
    步骤详解在上次使用学生认证的方法对jetbrains认证成功之后,咱们在IDEA这里认证一下吧!一、点击help这里的register如图所示:进入这样一个界面:然后点击左下角的的LogIn......