using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;namespace test9
{class Program{//  班级学生总成绩和平均成绩计算://1)让用户输入班级人数//2)让用户依次输入该班级每个学员的姓名和成绩(0-100之间)//3)按成绩进行排序,按成绩由高到低依次输出学生的姓名和成绩static void Main(string[] args){//提示用户输入Console.WriteLine("请输入班级人数:");//定义接收总人数变量int Zong = 0;//变量,控制输入正确后下一步bool b = true;while (b){//判断输入是否正确,错误抛出异常try{Zong = Convert.ToInt32(Console.ReadLine());b = false;}catch (Exception){//出现异常提示重新输入Console.WriteLine("输入错误!重新输入");b = true;}}//定义存放成绩的数组Nums和存放名字的数组Namesstring[] Names = new string[Zong];int[] Nums = new int[Zong];//循环让用户依次输入该班级每个学员的姓名和成绩for (int i = 0; i < Zong; i++){Console.WriteLine("请输入第{0}个人的姓名:", i + 1);Names[i] = Console.ReadLine();Console.WriteLine("请输入{0}的分数:", Names[i]);string N = Console.ReadLine();//对成绩进行处理Nums[i] = TryNum(N);}//对成绩进行排序Nums = PaiXu(Nums,ref Names);//循环输出排序好的数组for (int i = 0; i < Nums.Length; i++){Console.WriteLine("第{0}名是:{1},分数:{2}",i+1,Names[i],Nums[i]);}Console.ReadKey();}/// <summary>/// 处理用户输入的成绩/// </summary>/// <param name="n">用户输入数据</param>/// <returns>返回正确值</returns>static int TryNum(string n){int Num = 0;//处理用户的输入try{//转换,出错进入异常。正确继续Num = Convert.ToInt32(n);//判断数字是否大于0小于100if (0 > Num || Num > 100){//大于0小于100抛出错误throw new Exception("大于0小于100");}}catch (Exception e){//异常提示Console.WriteLine("输入错误请重新输入:"+e);//递归,继续执行
                TryNum(Console.ReadLine());}return Num;}/// <summary>/// 冒泡排序/// </summary>/// <param name="array">分数数组</param>/// <param name="names">姓名数组</param>/// <returns>排序后的数组</returns>static int[] PaiXu(int[] array,ref string[] names){int length = array.Length - 1;bool isExchanged = false;for (int i = 0; i < length; i++){isExchanged = false;for (int j = length; j > i; j--){if (array[j] > array[j - 1]){int temp = array[j];array[j] = array[j - 1];array[j - 1] = temp;string t = names[j];names[j] = names[j - 1];names[j - 1] = t;isExchanged = true;}}if (!isExchanged)//一遍比较过后如果没有进行交换则退出循环break;}return array;}}
}

转载于:https://www.cnblogs.com/yliang/archive/2013/04/30/3051846.html

班级学生总成绩和平均成绩计算相关推荐

  1. C语言程序——求学生总成绩和平均成绩

    文章目录 前言 一.求学生总成绩和平均成绩 二.程序实例 1.程序代码 2.运行结果 3.结果分析 三.拓展应用 总结 前言 输入三个学生的成绩,求的三个学生的总成绩和平均成绩. 一.求学生总成绩和平 ...

  2. 计算全班学生C++课程的总成绩和平均成绩

    定义一个类Student,记录学生C++课程的成绩.要求使用静态数据成员或静态成员函数计算全班学生C++课程的总成绩和平均成绩. 输入格式: 输入5个不超过100的正整数,作为C++成绩. 输出格式: ...

  3. PTA实验题:7-2 计算全班学生C++课程的总成绩和平均成绩 (10 分)

    定义一个类Student,记录学生C++课程的成绩.要求使用静态数据成员或静态成员函数计算全班学生C++课程的总成绩和平均成绩. 输入格式: 输入5个不超过100的正整数,作为C++成绩. 输出格式: ...

  4. C++:求五位学生的总成绩以及平均成绩

    问题: 定义数组存储5位学生的姓名和4科考试的成绩,计算并输出每个学生的总成绩和平均成绩,找出平均成绩最高的学生姓名. 代码: #include<iostream> #include< ...

  5. C语言入门:计算总成绩和平均成绩

    C语言:计算总成绩和平均成绩 从键盘上输入一个学生的五门成绩,计算出该学生的总成绩和平均成绩. #include<stdio.h>int main(void){ int c1,c2,c3, ...

  6. 求十个学生的平均成绩java,JAVA 声明一个数组,存一个学生的五门成绩。求该学生的总成绩、平均成绩。...

    JAVA 声明一个数组,存一个学生的五门成绩.求该学生的总成绩.平均成绩. mip版  关注:116  答案:3  悬赏:30 解决时间 2021-01-26 06:39 已解决 2021-01-25 ...

  7. 【C语言入门】已知10个学生的5门课程的成绩,将其存入一个二维数组,求每个学生的总成绩和平均成绩。

    题目:已知10个学生的5门课程的成绩,将其存入一个二维数组,求每个学生的总成绩和平均成绩. # include <stdio.h> int main() {int i, j, s = 0, ...

  8. C# 定义一个描述学生基本信息的类,属性包括姓名、学以及C#、英语和数学成绩,方法包括设置姓名和学号、设置三门课的成绩和输出相关学生的信息,最后求出总成绩和平均成绩。

    C# 定义一个描述学生基本信息的类,属性包括姓名.学以及C#.英语和数学成绩,方法包括设置姓名和学号.设置三门课的成绩和输出相关学生的信息,最后求出总成绩和平均成绩. ** 代码如下:  using ...

  9. C++统计每门课程全班的总成绩和平均成绩以及每个学生课程的总成绩和平均成绩。

    输入学生人数(最多为50个人),然后按编号从小到大的顺序依次输入学生成绩(语文.数学和英语3门课程的成绩),最后统计每门课程全班的总成绩和平均成绩以及每个学生课程的总成绩和平均成绩 #include& ...

  10. SQL数据库经典题型(2)列出有二门以上(含两门)不及格课程的学生姓名及其平均成绩

    1.查询平均成绩不及格的学生姓名及平均成绩 select s1.s_id,s1.s_name,round(avg(s2.s_score))  from s_student s1,s_score s2 ...

最新文章

  1. 成功解决 Exception: URL fetch failure on https://s3.amazonaws.com/img-datasets/mnist.npz: None -- [Errno
  2. boost::process::windows相关的测试程序
  3. C语言学习之利用指针输出二维数组任一行任一列元素的值
  4. linux 升级 git版本,CentOS使用Yum升级Git到2.1x新版本
  5. 关于Linux内核的一些问题
  6. “Internet Explorer无法打开站点,已终止操作”解决
  7. vue2.0实现银行卡类型种类的选择
  8. 4-1.最大子数组分治法实现
  9. ERP仓库管理系统查询(十)
  10. 181222每日一句
  11. vue3结合element-plus实现标签手动标注效果
  12. 智慧医疗整体解决方案
  13. WORD中设置“选择性粘贴“—“无格式文本”的快捷键
  14. dell 如何给raid分区_如何在 UEFI 配置的系统中访问 RAID 控制器设置
  15. 路由器重温——MP配置管理
  16. Android Data Binding 初识
  17. hihocoder 1224 赛车
  18. 【AI语音】魔百盒M301H-JL代工-3798MV300芯片-支持蓝牙_免费固件包
  19. 有哪些值得推荐的,关于脑科学认知研究的经典书籍 ?
  20. tomcat 设置缓存大小

热门文章

  1. 苹果mac误删文件怎样快速找回?
  2. Django生命周期,FBV,CBV
  3. 自动化接口用例从 1 到 1000 过程中的实践和思考
  4. Java程序员实现完美代码的十大要素
  5. IBM与红帽联手构建开源混合云环境
  6. Swift 必备开发库 (高级篇) (转)
  7. 二叉树的存储方式以及递归和非递归的三种遍历方式
  8. saltstack 自动化运维神器(四)salt-ssh
  9. Web应用程序的目录结构
  10. struts实现文件下载