首页 > 其他分享 >学生成绩问题。

学生成绩问题。

时间:2023-05-14 21:35:55浏览次数:32  
标签:cout chinese float 学生 问题 stu english 成绩 math

一、问题描述。

  有5个学生,每个学生的数据包括学号、姓名、三门课成绩,从键盘输入5个学生的数据,要求计算并输出。

1)  每个学生三门课的总成绩

2)  三门课每门课程的平均成绩

 
代码实现。


#include<string>  
#include<iostream>  
using namespace std;  
  
#define N 5 //定义常量N=5  
  
// 定义学生结构体  
typedef struct  
{  
    string no;      //学号  
    string name;    //姓名  
    float chinese;  //语文  
    float math;     //数学  
    float english;  //英语  
    float total;    //总成绩  
}Student;  
  
// 定义5个学生  
Student stu[N];  
  
/* 
 *  录入每个学生的成绩等 
 */  
void input(int n)  
{  
    string no;      //学号  
    string name;    //姓名  
    float chinese;  //语文  
    float math;     //数学  
    float english;  //英语  
  
    for(int i=0; i!=n; i++)  
    {  
        cout<<"请输入第"<<i+1<<"个学生的学号:";  
        cin>>no;  
        stu[i].no = no;  
        cout<<"请输入该学生的姓名:";  
        cin>>name;  
        stu[i].name = name;  
        cout<<"请输入该学生语文成绩:";  
        cin>>chinese;  
        stu[i].chinese = chinese;  
        cout<<"请输入该学生数学成绩:";  
        cin>>math;  
        stu[i].math = math;  
        cout<<"请输入该学生英语成绩:";  
        cin>>english;  
        stu[i].english = english;  
          
        // 计算该学生三门课的总成绩  
        stu[i].total = stu[i].chinese + stu[i].math + stu[i].english;  
    }  
}  
  
/* 
 *  打印三门课每门课程的平均成绩 
 */  
void printAvg()  
{  
    int i = 0;  
    float sumChinese=0, sumMath=0, sumEnglish=0;   
    float avgChinese=0, avgMath=0, avgEnglish=0;  
  
    for(i=0; i<N; i++)  
    {  
        sumChinese += stu[i].chinese;  
        sumMath += stu[i].math;  
        sumEnglish += stu[i].english;  
    }  
      
    avgChinese = sumChinese / N;  
    avgMath = sumMath / N;  
    avgEnglish = sumEnglish / N;  
  
    cout<<"语文课:"<<avgChinese<<"/r/n";  
    cout<<"数学课:"<<avgMath<<"/r/n";  
    cout<<"英语课:"<<avgEnglish<<"/r/n";  
}  
  
/* 
 *  主函数 
 */  
void main()  
{  
    // 录入每个学生的成绩等  
    input(N);  
  
    cout<<"/r/n---------- 统计结果 ----------/r/n";  
    cout<<"以下是每个学生三门课的总成绩:"<<"/r/n";  
    for (int i=0; i<N; i++)  
    {  
        cout<<stu[i].name<<":"<<"/t"<<stu[i].total<<"/r/n";  
    }  
  
    cout<<"/r/n以下是每门课的平均成绩:"<<"/r/n";  
    printAvg();  
  
    // 接收多余的"/r/n"  
    getchar();  
    getchar();  
}

标签:cout,chinese,float,学生,问题,stu,english,成绩,math
From: https://www.cnblogs.com/luoqingci/p/17400255.html

相关文章

  • qt5.14.modbus rtu源码,运行无问题! ---Modbus具有两种串行
    qt5.14.modbusrtu源码,运行无问题!---Modbus具有两种串行传输模式:分别为ASCII和RTU。此源代码是RTU。Modbus是一种单主站的主从通信模式,Modbus网络上只能有一个主站存在,主站在Modbus网络上没有地址,每个从站必须有唯一的地址,从站的地址范围为0-247,其中0为广播地址,从站的实际地址范......
  • 打卡5.8——委派认为问题
    1.问题描述某项任务需要在A、B、C、D、E、F这6个人中挑选人来完成,但挑选人受限于以下的条件:(1)A和B两个人至少去一人;(2)A和D不能同时去;(3)A、E和F三人中要挑选两个人去;(4)B和C同时去或者都不去;(5)C和D两人中只能去一个;(6)如果D不去,那么E也不去。试编程求出应该让哪几个人......
  • 打卡5.7——三色球问题
    1.问题描述一个口袋中放有12个球,已知其中3个是红的,3个是白的,6个是黑的,现从中任取8个,问共有多少种可能的颜色搭配?2.问题分析假设八个球,红球a个,白球b个,黑球c个,那么c=8-a-b个。而且a<=3,b<=3,也就是说8-a-b<=63.算法设计穷举法用两个for循环,第一个for控制红球的数量,第二个控制白......
  • c# can总线开发接口源代码,完美解决内存溢出,程序闪退问题,可放心使用。
    c#can总线开发接口源代码,完美解决内存溢出,程序闪退问题,可放心使用。另本示例中还有TCPClient,串口连接源代码,供给有需要的人学习。ID:4830648911771998......
  • 使用vscode搭建 vue3 + vite 项目, 部署到服务器 js css文件路径访问不到的问题
    使用vscode搭建vue3+vite项目,本地没有问题,build后部署到服务器,默认访问的是域名下的jscss文件,导致相对路径无法访问到。在vite.config.js中添加 :base: "./" 后就可以了。原因:默认的是 "/",  而我部署的路径是:/其他路径/项目名/dist/ ,所以把base改为./后......
  • 关于Python解释器的多版本共存问题
    在日常开发项目时,总会用到多种不同版本的解释器,那如何切换解释器呢?不能卸载重装需求版本的解释器吧,如此原解释器内pip的模块也丢失掉了,那我们应该怎么做呢?首先我们要前往Python的官网:http://www.python.org然后就是安装解释器,在我的文件内安装了三款解释器,为了方便看,3.6.8的......
  • 接MATLAB各类问题,难度不限。 编程,画图,定制,调试,debug等。 依据
    接MATLAB各类问题,难度不限。编程,画图,定制,调试,debug等。依据任务难度报价,详细请加好友。ID:521681885430880......
  • 错问题:--谷粒商城--org.springframework.beans.factory.beancreationexception: error
    做谷粒商城使用人人开源的时候,导入nacos时出现这个问题最后发现是自己在导入时没有把这个版本改掉,最终出现问题,大概原因就是spring的版本和nacos的版本不匹配。<parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent<......
  • 工作流引擎问题集锦
    activiti7默认创建时候会产生串库的问题具体表现在该服务器中有如ruoyi等含有工作流框架数据库的内容解决方法1:删除该数据库服务器中所有包含工作流引擎相关的库和表(链接中改表头的方式无法生效,原因未知)https://www.jianshu.com/p/48bf76856051解决方法2:在yml的数......
  • 树上问题
    记录一下这一类问题。好题の记载T0切水题必备策略:子树问题转为\(dfs\)序,链上问题转为树上差分。同一子树的\(dfs\)序是连续的,该子树在序列中的位置为\([dfn_u,dfn_u+siz_u-1]\)。树上差分需要用到求\(LCA\),将\(u,v\)之间的路径转为\(f_u+f_v-f_{LCA}-f_{fa[LCA]......