写程序完成输入学生学号,姓名,以及成绩信息,并由高到低排序

要求:写程序完成输入学生学号,姓名,以及成绩信息,根据学生成绩由高到低排序。

#include <stdio.h>
#include <string.h>
typedef struct student_score
{
 int id;
 char name[20];
 int score;

}STU;  //定义结构体

int main(int argc, const char *argv[])
{
 int i,j;
 int num;
 STU tmp,stu[100];

printf("how many students?input the num:");
 scanf("%d",&num);   // 输入学生人数

for(i=0;i<num;i++)
 {
  printf("plz input the [num:%d]student‘s id:\n",i+1);
  scanf("%d",&stu[i].id);
  puts("plz input the name:");
  scanf("%s",stu[i].name);
  puts("plz input the score:");
  scanf("%d",&stu[i].score);
 }
 /*
 防止输入错误可采用:
 int ret;
 ret=scanf("%d %s %d",&stu[i].id,stu[i].name,stu[i].score);
 if ( ret!=3 )
 printf("input error");
 
 */

printf("============================\n");
 printf("||  ID      name     score\n");
 for(i=0;i<num;i++)
 {
 printf("||  %d        %s       %d    \n",stu[i].id,stu[i].name,stu[i].score);
 }
 for (i=0;i<num;i++)
  for(j=0;j<num-1;j++) //注意后面冒泡排序会出现stu[j+1];
    {     // 如 学生人数为3时 只比较2次。因此循环条件: j<num-1

if (stu[j].score<stu[j+1].score)
   {
    tmp=stu[j];
    stu[j]=stu[j+1];
    stu[j+1]=tmp;
   }
  }
 printf("============================\n");
 for (i=0;i<num;i++)
 {
 printf("||  %d        %s       %d    \n",stu[i].id,stu[i].name,stu[i].score);
 }
 return 0;
}

写程序完成输入学生学号,姓名,以及成绩信息,并由高到低排序

时间: 2024-08-01 22:07:17

写程序完成输入学生学号,姓名,以及成绩信息,并由高到低排序的相关文章

键盘录入学生信息(姓名,语文成绩,数学成绩,英语成绩),按照总分从高到低存入文本文件

1.先写一个Student类 public class Student { private String name; private int chinese; private int math; private int english; public Student() { super(); } public Student(String name, int chinese, int math, int english) { this.name = name; this.chinese = ch

Java基础知识强化之集合框架笔记49:键盘录入5个学生信息(姓名,语文成绩,数学成绩,英语成绩),按照总分从高到低输出到控制台

1. 键盘录入5个学生信息(姓名,语文成绩,数学成绩,英语成绩),按照总分从高到低输出到控制台: 分析: A: 定义学生类    B: 创建一个TreeSet集合       C: 总分从高到底如何实现呢?        D: 键盘录入5个学生信息       E: 遍历TreeSet集合 2. 代码示例: (1)Student.java: 1 package cn.itcast_08; 2 3 public class Student { 4 // 姓名 5 private String na

输入10个人分数,求最高分,按分数从高到低排序&amp;&amp;去除最高分最低分,求平均分

1.输入10个人分数,求最高分,按分数从高到低排序 int[] arr = new int[10]; for (int i = 0; i < 10; i++)//arr.length=n { Console.Write("请输入第" + (i + 1) + "个人的分数:"); arr[i] = int.Parse(Console.ReadLine()); } for (int i = 0; i < 10; i++)//数组按索引一步步走,每走一步,就拿

C#例题:输入学生学号,姓名,分数,然后根据分数进行排序。这个题是用集合和结构体来做,与上一题不同。掌握基础知识很重要

class Program { struct student { public string name; public int code; public int age; public double fenshu; } static void Main(string[] args) { ArrayList al = new ArrayList(); //定义一个新的集合 Console.Write("请输入人数:"); int renshu = Convert.ToInt32(Cons

结构体 输入学号 姓名 身高 按身高从高到低排序

例题:输入学生的各项资料,然后根据学生的分数,重新排序。重新复习结构体,集合,数组,for循环,冒泡排序,水平符的使用。

class Program { struct student     //定义一个student的结构体 { public string name;   //基本格式 public int code; public int age; public int fenshu; } static void Main(string[] args) { while (true) { ArrayList al = new ArrayList();  //定义一个新的集合 Console.Write("请输入人

IO流的练习4 —— 键盘录入学生成绩信息,进行排序后存入文本中

需求: 键盘录入5个学生信息(姓名,语文成绩,数学成绩,英语成绩),按照总分从高到低存入文本文件 分析: A:创建学生类 B:创建集合对象 TreeSet<Student> C:键盘录入学生信息存储到集合 D:遍历集合,把数据写到文本文件 首先创建个学生类 1 package zl_Test; 2 /** 3 * 这是个记录学生成绩类 4 * @author LZL 5 * 6 */ 7 public class Student { 8 private String name; 9 priva

键盘录入5个学生的信息根据总分从高到低输出在控制台

第一部分: public class Student { private String name; private Integer chinese; private Integer math; private Integer english; public Student(){ super(); } public Student(String name,Integer chinese,Integer math,Integer english){ super(); this.name = name

有五个学生,每个学生有3门课(语文、数学、英语)的成绩, * 写一个程序接收从键盘输入学生的信息,输入格式为:name,30,30,30(姓名,三门课成绩)

/* * 3. 有五个学生,每个学生有3门课(语文.数学.英语)的成绩, * 写一个程序接收从键盘输入学生的信息,输入格式为:name,30,30,30(姓名,三门课成绩), * 然后把输入的学生信息按总分从高到低的顺序写入到一个名称"stu.txt"文件中. * 要求:stu.txt文件的格式要比较直观,打开这个文件,就可以很清楚的看到学生的信息 * */ import java.io.*; import java.util.*; public class Test3 { publi