15-07-10 结构体-输入学生成绩进行排序

输入每个学生的学习成绩,根据总分进行排序

          struct Student          {          public string name;          public int age;          public double Cshap;          public double Database;          public double Html;          public double sum;          }
          static void Main(string[] args)          {
            Console.WriteLine("请输入学生的个数:");
            int a = Convert.ToInt32(Console.ReadLine());

            List<Student> list = new List<Student>();

            for (int i = 0; i < a; i++)
            {
                Student s = new Student();

                Console.WriteLine("请输入第{0}个学生的姓名:",i+1);
                s.name = Console.ReadLine();

                Console.WriteLine("请输入第{0}个学生的年龄:", i + 1);
                s.age = Convert.ToInt32(Console.ReadLine());

                Console.WriteLine("请输入第{0}个学生的Cshap成绩:", i + 1);
                s.Cshap = Convert.ToDouble(Console.ReadLine());

                Console.WriteLine("请输入第{0}个学生的数据库成绩:", i + 1);
                s.Database = Convert.ToDouble(Console.ReadLine());

                Console.WriteLine("请输入第{0}个学生的网页成绩:", i + 1);
                s.Html = Convert.ToDouble(Console.ReadLine());

                s.sum = s.Cshap + s.Database + s.Html;

                list.Add(s);
            }

            //排序
            for (int i = 0; i < list.Count-1; i++)
            {
                for (int j = 0; j < list.Count - 1 - i; j++)
                {
                    if (list[j].sum <= list[j + 1].sum)
                    {
                        Student zj = list[j];
                        list[j] = list[j + 1];
                        list[j + 1] = zj;
                    }
                }
            }
            //输出

            Console.WriteLine("姓名\t年龄\tCshap\t数据库\t网页\t总分");
            foreach (Student data in list)
            {
                Console.WriteLine(data.name+"\t"+data.age+"\t"+data.Cshap+"\t"+data.Database+"\t"+data.Html+"\t"+data.sum);
            }       }
时间: 2024-10-15 14:36:16

15-07-10 结构体-输入学生成绩进行排序的相关文章

java 从键盘输入学生成绩,找出最高分,并输出学生成绩等级。

/*从键盘输入学生成绩,找出最高分,并输出学生成绩等级:成绩 >=最高分-10 等级为A成绩 >=最高分-20 等级为B成绩 >=最高分-30 等级为C其余为 等级为D 提示:先输入学生人数,根据人数创建int数组,存放学生成绩:*/ package study01; import java.util.Scanner; public class Score { public static void main(String[] args) { Scanner sc = new Scanne

输入学生成绩,并按升序排列 Ascending.java

import java.util.Arrays;import java.util.Scanner;public class Ascending{ public static void main(String[] args){ Scanner in=new Scanner(System.in); int[] arr=new int[10]; for(int i=0;i<arr.length;i++){ System.out.println("请输入第"+(i+1)+"个学

Golang项目之结构体版学生管理系统

前言 学习第4天,基于结构体的方式对函数版本重构编写小项目:学生管理系统 代码 package main import ( "fmt" "os" ) // 菜单系统(将菜单系统封装到函数中) func showMenu(){ fmt.Println("欢迎光临学生管理系统") fmt.Println(` 1.查看所有学生 2.新增学生 3.删除学生 4.退出 `) } // 造一个存储学生数据的类型 type student struct{ id

java输入学生成绩

public class Card { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub int stu[] = new int[3]; try{ for(int i=0; i<stu.length;i++) { Student s = new Student(); s.getStudent(); s.showStudent(); s.averStude

C语言-对一个结构体中的字段进行排序

这是帮别人做的一个题目,好久没有接触过C语言了.有点发怵,只是似乎找回点当时学C语言,做课程设计的感觉. 题目:定义一个数组(学生结构体数组),里面包括学号.姓名.身份证和三科学生成绩.要求写一个函数,依据学生不论什么一个字段(如学号.姓名.身份证),进行排序. 源代码: //// stu.cpp : Defines the entry point for the console application. //// // #include "stdafx.h" //----------

C++线性表通过结构体实现操作和结构体字符串快速排序和shell排序结合

#include<iostream> #include<string> #define ml 10 using namespace std; typedef struct{//定义Data数据项 std::string name; long num; }Data; struct Link{//定义结构体 Data data[ml+1]; int length; }L; void initLink(Link *p){//初始化,即便有数据可以覆盖写入增加效率 p->length

结构体-输入成绩排序

输入指定数量学生的姓名.语文.数学成绩,按总分从高到低排序 代码: #include <iostream> #include <string> #include <algorithm> using namespace std; struct stu { string name; int yw,sx,zf; } a[100]; int main() { int n; cin>>n; for(int i=0;i<n;i++) { cin>>a[

C语言结构学习-学生成绩简单统计

/*本次作业对于我还是很有难度的,经过不断失败.尝试,总算通过了.由于自己的不算规范,以下标出自己的环境: Linux 3.13.0-29-generic #53-Ubuntu SMP Wed Jun 4 21:00:20 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux gcc (Ubuntu 4.8.2-19ubuntu1) 4.8.2 Copyright (C) 2013 Free Software Foundation, Inc. stustruct.c: 

输入学生成绩,计算80分以上的学生的人数及所占的比例

import java.util.Scanner; public class ContinueDemo { public static void main(String[] args) { int score;//分数 int total;//总人数 int num=0;//成绩大于80分的人数 Scanner input=new Scanner(System.in); System.out.print("请输入班级的总人数:"); total =input.nextInt();//输