精华内容
下载资源
问答
  •  Console.Write("当前成绩排名:");  foreach (int i in a)  {  Console.Write("{0} ",i);  }  Console.Write("\n");  Array.Sort(a);  Array.Reverse(a);  Console.Write(" 排序后结果:");  ...

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;

    namespace _118_3._3
    {
        class Program
        {
            static void Main(string[] args)
            {
                int[] a = new int[20];
                for (int i = 0; i <a.Length; i++)
                { 
                    a[i] = int.Parse(Console.ReadLine()); 
                }
                Console.Write("当前成绩排名:");
                foreach (int i in a)
                {
                    Console.Write("{0}  ",i);
                }
                Console.Write("\n");
                Array.Sort(a);
                Array.Reverse(a);
                Console.Write("  排序后结果:");
                foreach (int i in a)
                Console.Write("{0}  ",i);      
            }
        }
    }


    1.对数组赋值有两种方式:一种是定义时初始化;另一种是用for循环来赋值。本程序中的foteach是用来便利输出数组元素。

    2.Array.Sort(数组名称);对数组进行升序排列
       Array.Reverse(数组名称,起始位置,反转范围);对Array.Sort进行反转,实现降序排列。


    展开全文
  • 编写一个程序,实现从键盘输入3个学生数据(每个学生的数据包括学号、姓名、2门课程的成绩),输出每个学生2门课的平均成绩,以及最高分的学生的数据(包括学号、姓名、2门课的成绩、平均分数)。 输入格式: 输入3个...

    计算学生平均成绩

    编写一个程序,实现从键盘输入3个学生数据(每个学生的数据包括学号、姓名、2门课程的成绩),输出每个学生2门课的平均成绩,以及最高分的学生的数据(包括学号、姓名、2门课的成绩、平均分数)。

    输入格式:

    输入3个学生的数据,每个学生的数据占一行,格式如下: <学号> <姓名> <第一门课程成绩> <第二门课程成绩>

    注意:学号/姓名中不包含空白符,学号为8位字符,姓名最多为20位字符。

    输出格式:

    首先在第1行中依次输出3名同学的平均成绩,平均成绩的输出格式为占10位,小数点后保留1位。
    在第2行中输出最高分的学生的数据,格式如下: No=<学号>,Name=<姓名>,Score1=<第一门课程成绩>,Score2=<第二门课程成绩>,Average=<平均成绩>

    注:课程成绩和平均成绩输出时保留1位小数且四舍五入处理。

    输入样例:

    20180001 zhangsan 70.0 80.0
    20180002 lisi 95.0 89.0
    20180003 wangwu 65.0 84.0
    

    输出样例:

    75.0      92.0      74.5
    No=20180002,Name=lisi,Score1=95.0,Score2=89.0,Average=92.0
    

    裁判测试程序样例:

    #include<stdio.h>
    int main( ){
    
    /* 请在这里填写答案 */
    
        printf("\nNo=%s,Name=%s,Score1=%.1f,Score2=%.1f,Average=%.1f",s[max].no,s[max].name,s[max].score1,s[max].score2,s[max].average);
        return 0 ;
    }
    

    首先说明一下,这道题属实简单,至于为啥我会在PTA卡了半天之久,原因都是这个恐怖的条件,当然,大佬请无视我的牢骚

    输入3个学生的数据,每个学生的数据占一行,格式如下: <学号> <姓名> <第一门课程成绩> <第二门课程成绩>
    

    导致我好久都不能通过PTA的编辑,我都疯了
    这道题是用结构体做的,理所应当把结构体先写出来

    struct student{
    	char no[100] ;//学号
    	char name[20] ;//姓名,因为题上说姓名最多为20位字符,所以我们定义为20(其实100什么的也可以,以防万一)
    	float score1  ;//科一
    	float score2  ;//科二
    	float average;//平均数
    	}s[3];//这是有3个学生录入的结构体
    

    ok,so easy 另外我想说,这个出题人真的不好玩,float score1,float score2,用数组他不香吗?虽然只有两个,但凡以后遇到录入多的,数组是最好的选择,有兴趣的同学可以研究一下哈,我就不再赘述了。

    然后就是让人头大的每个学生的数据占一行了

    话不多说,看代码

    int i,max;
    		for(i=0;i<3;i++){
    		scanf("%s %s %f %f",s[i].no,s[i].name,&s[i].score1,&s[i].score2);//就是这个样子,记住就好了,我也是向大佬请教的,哈哈哈,好爽
    	}
    

    然后我们来进行下一项,输出这个

    75.0      92.0      74.5
    

    也是很简单,唯一考的细节就是平均成绩的输出格式为占10位,小数点后保留1位
    看下代码吧:

    		for(i=0;i<3;i++){
    		s[i].average=(s[i].score1+s[i].score2)/2;//求一下平均数,这个里面有细节,品一下
    	}
    	printf("%10.1f%10.1f%10.1f",s[0].average,s[1].average,s[2].average);//然后就是输出了,%10.1就是占十位,保留小数点后一位,记住规律
    

    之后就是比较三个数的大小
    鬼知道当时我脑子怎么秀逗了,写出了这个代码

    	if(s[0].average>s[1].average){
    		if(s[0].average>s[2].average){
    				max=0;
    		}else{
    				max=2;
    		}
    	
    	}else if(s[1].average>s[2].average){
    		max=1;
    	}else if(s[2].average>s[3].average){
    			max=2;
    	}else{
    		max=3;
    	}
    

    后来我想了想,用for循环比较简单,里面加个if语句,哎有兴趣可以自己想想,三行代码就可以搞定哦

    看一下运行结果

    在这里插入图片描述
    是没有一点问题的,PTA也正常在这里插入图片描述

    最后,我把所有代码放在这,有问题或者什么的希望大家提出批评

    #include<stdio.h>
    int main( ){
    struct student{
    	char no[100] ;
    	char name[100] ;
    	float score1  ;
    	float score2  ;
    	float average;
    	}s[3];
    	int i,max;
    		for(i=0;i<3;i++){
    		scanf("%s %s %f %f",s[i].no,s[i].name,&s[i].score1,&s[i].score2);
    	}
    	
    	for(i=0;i<3;i++){
    		s[i].average=(s[i].score1+s[i].score2)/2;
    	}
    
    	printf("%10.1f%10.1f%10.1f",s[0].average,s[1].average,s[2].average);
    	if(s[0].average>s[1].average){
    		if(s[0].average>s[2].average){
    				max=0;
    		}else{
    				max=2;
    		}
    	
    	}else if(s[1].average>s[2].average){
    		max=1;
    	}else if(s[2].average>s[3].average){
    			max=2;
    	}else{
    		max=3;
    	}
    
        printf("\nNo=%s,Name=%s,Score1=%.1f,Score2=%.1f,Average=%.1f",s[max].no,s[max].name,s[max].score1,s[max].score2,s[max].average);
        return 0 ;
    }
    

    不早了,明天写历史论文,睡觉睡觉,呼呼呼

    展开全文
  • 某班级有20名学生,要求从键盘输入每个学生的课程成绩(百分制),并输出最高成绩者。 功能要求 ①找出成绩最高者,并输出该成绩 ②用链表实现存储(每名学生包括姓名和成绩两项),并用函数实现链表的创建,...

    务描述
    某班级有20名学生,要求从键盘输入每个学生的课程成绩(百分制),并输出最高成绩者。
    功能要求
    ①找出成绩最高者,并输出该成绩
    ②用链表实现存储(每名学生包括姓名和成绩两项),并用函数实现链表的创建,输出和查找

    #include<stdio.h>
    #include<stdlib.h>
    typedef struct {
        char name[10];
        int score;
    }t_student;
    typedef struct node {
        t_student stu;
        struct node *next;
    }linkList;
    
    int createList(linkList *head, int n) 
    {
        linkList *s, *p;
        int i;
        p = head;
        for (i = 0; i < n; i++) {
            s = (linkList*)malloc(sizeof(linkList));
            scanf("%s", s->stu.name);
            scanf("%d", &s->stu.score);
            s->next = p->next;
            p->next = s;
            p = s;
        }
        return 0;
    }
    
    int output(t_student *stu)
    {
        printf("%s   ", stu->name);
        printf("%d\n", stu->score);
    }
    
    int find(t_student *stu, linkList *head)
    {
        linkList *p = head;
        p = head->next;
        *stu = p->stu;
        while (p->next!=NULL) {
            p = p->next;
            if (p->stu.score > stu->score) {
                *stu = p->stu;
            }
        }
        return 0;
    }
    int main()
    {
        linkList head;
        head.next = NULL;
        t_student result;
        createList(&head, 20);
        find(&result, &head);
        output(&result);
        system("pause");
        return 0;
    }
    
    展开全文
  • 1 #define _CRT_SECURE_NO_WARNINGS //关闭安全检查 2 #include<stdio.h> 3 #include<stdlib.h> 4 5 //定义结构体类型 6 struct ST 7 { ... 9 char name[20]; 10 floa...
     1 #define _CRT_SECURE_NO_WARNINGS        //关闭安全检查
     2 #include<stdio.h>
     3 #include<stdlib.h>
     4 
     5 //定义结构体类型
     6 struct ST
     7 {
     8     int ID;
     9     char name[20];
    10     float score[3];
    11 };
    12 
    13 //方法1 : 结构体数组作为函数参数 开销大
    14 float avg(struct ST sts[], int n)
    15 {
    16     float sum = 0, avg;
    17     for (int i = 0; i < n; i++)
    18     {
    19         for (int j = 0; j < 3; j++)
    20         {
    21             sum += sts[i].score[j];
    22         }
    23     }
    24     avg = sum / n / 3;
    25     return avg;
    26 }
    27 
    28 //方法2 : 结构体数组指针作为函数参数 开销小
    29 float avg1(struct ST *p, int n)
    30 {
    31     float sum = 0, avg;
    32     for (int i = 0; i < n; i++)
    33     {
    34         for (int j = 0; j < 3; j++)
    35         {
    36             sum += p[i].score[j];
    37         }
    38     }
    39     avg = sum / n / 3;
    40     return avg;
    41 }
    42 
    43 //输出最高分数学生信息
    44 void high(struct ST *p, int n)
    45 {
    46     int index = 0;
    47     float max = 0, sum = 0;
    48     for (int i = 0; i < n; i++)
    49     {
    50         for (int j = 0; j < 3; j++)
    51         {
    52             sum = p[i].score[0] + p[i].score[1] + p[i].score[2];
    53             if (sum > max)
    54             {
    55                 max = sum;
    56                 index = i;
    57             }
    58         }
    59     }
    60     printf("最高学生信息为:\n");
    61     //(p+index)->ID 等价于 p[index].ID
    62     printf("学号:%d\n", (p+index)->ID);
    63     printf("姓名:%s\n", p[index].name);
    64     printf("成绩:%.2f, %.2f, %.2f\n", p[index].score[0], p[index].score[1], p[index].score[2]);
    65 }
    66 
    67 int main()
    68 {
    69     int i, j;
    70     struct ST sts[5];
    71     for (i = 0; i < 5; i++)
    72     {
    73         printf("请输入第%d个学生信息\n", i+1);
    74         scanf("%d", &sts[i].ID);
    75         //加不加&都可以
    76         scanf("%s", sts[i].name);
    77         printf("输入各科成绩\n");
    78         for (j = 0; j < 3; j++)
    79         {
    80             scanf("%f", &sts[i].score[j]);
    81         }
    82     }
    83 
    84     printf("平均成绩为:%f\n", avg1(sts, 5));
    85     high(sts, 5);
    86     system("pause");
    87     return 0;
    88 }

     

    转载于:https://www.cnblogs.com/lwn007/p/6814968.html

    展开全文
  • 名学生从键盘读取信息。 最后,良好背景输出谁在公告栏中承认比分淘汰。 假设同样比分,在公告栏中一同显示出来。 */ //定义一个结构体类型 struct Student { char name[20]; //名字 char idNum[20]; /...
  • /* ...  *All rights reserved.  *文件名称:test.cpp  *作者:李晓凯  *完成日期:2014年 12... *问题描述:(1)从键盘输入N名学生的信息(N定义为常变量);  (2)求出每名同学的总分和均分,并存储在结
  • 从键盘输入一个学生所有课程的成绩,输入格式为”课程:成绩“,每门课占一行,以空行结束。随后提示”请输入要查询的课程:“,用户从键盘输入课程,查询并输出该课程的成绩,要求进行异常处理,对不存在的课程...
  • 从键盘输入10名学生的姓名和C语言课程的成绩,要求按照成绩降序排序之后输出。结构体示例: struct { char name[20]; int score; }; 输入格式: 输入的数据之间以空格或回车间隔。 输出格式: 分行输出学生的信息。 ...
  • 5.11 从键盘输入一系列以$为结束字符串,然后对其中非数字字符进行计数,并显示出计数结果。 5.12 有一个首地址为MEM100D字数组,试编制程序删除数组中所有为零项,并将后续项向前压缩,最后将数组剩余...
  • 实例019 以图形按钮显示界面 20 实例020 以树形显示程序界面 21 实例021 动态按钮窗体界面 22 1.6 特殊形状窗体 24 实例022 非矩形窗体 24 实例023 建立字体形状窗体 25 实例024 控件随窗体...
  • 2、从键盘输入学生成绩(A、B、C、D),自动汇总并显示各类分数人数 3、动态输入20个二位无符号数,找出其中最大数并显示 4、设数据区有两个字符串,串1长度为5,串2长度为10。编程:若串2最后5个字符和串1...
  • 输入2个学生的成绩,其运行结果如下图所示。 (3)编写一个程序实现如下功能:找最长的单词。设输入的英文短文不超过一行(假设正文最后有“.”结束,以“,”或空格分隔,不出现其他符号),编程将所有单词输出...
  • 11.3编写一个函数print,打印一个学生的成绩数组,该数组中有5个学生的数据记录,每个记录包括num,name,score[3],用主函数输入这些记录,用print函数输出这些记录。 95 11.4在上题的基础上,编写一个函数input,...
  • 实例020 以树形显示程序界面 20 实例021 动态按钮窗体界面 21 1.6 特殊形状窗体 23 实例022 非矩形窗体 23 实例023 建立字体形状窗体 24 实例024 控件随窗体自动调整 25 实例025 带分隔栏窗体...
  • 实例020 以树形显示程序界面 20 实例021 动态按钮窗体界面 21 1.6 特殊形状窗体 23 实例022 非矩形窗体 23 实例023 建立字体形状窗体 24 实例024 控件随窗体自动调整 25 实例025 带分隔栏窗体...
  • 要求从键盘输入学生的数据,并输出成绩表(包括每个学生的学号、姓名、三门成绩及平均分数),并输出平均分在前3学生的姓名及平均分。 调试处理5个学生信息的程序,输出平均分在前3学生的姓名及平均分。 ...
  • printf("请输入第%2d个学生的学号、姓名、成绩:\n",i+1); scanf("%s%s%f",&stu[i].num,stu[i].name,&stu[i].score); //用结构体录入数据 if(p) //记录循环次数 p++; printf("再按回车即可继续输入...
  • 客户端:连接服务器后,从键盘输入一连串整数及字符串,并将这些整数及字符串发送到服务器,并发送结束指令(自定义结束指令),等待服务器返回计算结果,显示结果后退出; 服务器:为每个客户连接创建一个进程,...
  • 数据结构课设

    2013-01-03 02:51:25
    可以输入各个项目的前三或前五名的成绩; 2).能统计各学校总分(用链表); 3).可以按学校编号、学校总分、男女团体总分排序输出(快速、基数); 4).可按学校编号查询学校某个项目的情况;可按项目编号查询前三或...
  •  本书非常适合Java初学者,如高校学生、求职人员作为练习、速查、学习使用,也适合Java程序员参考、查阅。 目 录 第1篇 Java语法与面向对象技术 第1章 开发环境应用 2 1.1 Java环境 3 实例001 下载JDK开发...
  •  本书非常适合Java初学者,如高校学生、求职人员作为练习、速查、学习使用,也适合Java程序员参考、查阅。 目 录 第1篇 Java语法与面向对象技术 第1章 开发环境应用 2 1.1 Java环境 3 实例001 下载JDK开发...
  • 实例143 字符串中分离文件路径、文件名及其扩展 实例144 进行文本加密与解密 实例145 对字符串进行加、减、乘、除计算 实例146 统计字符个数 实例147 实现字节数组和字符串相互转换 实例148 用VB分离出...
  • 数据结构(C++)有关练习题

    热门讨论 2008-01-02 11:27:18
    从键盘输入数据,建立数据文件student.dat,然后,利用C++编程完成如下处理: (1)对学生姓名或学号进行查询,显示其信息 。 (2)对所有学生,按班级计算每一科平均成绩。 (3)分别按英语、数学、程序设计...
  • 本书适合Java初学者,如高校学生、求职人员作为练习、速查、学习使用,也适合Java程序员参考、查阅。 目录 第1篇 Java语法与面向对象技术 第1章 开发环境应用 1.1 Java环境 实例001 下载JDK开发工具包 ...
  • 本书适合Java初学者,如高校学生、求职人员作为练习、速查、学习使用,也适合Java程序员参考、查阅。 目录 第1篇 Java语法与面向对象技术 第1章 开发环境应用 1.1 Java环境 实例001 下载JDK开发工具包 ...
  • 实例269 利用区域图分析不同学生的成绩变化 实例270 利用时序图分析股票价格走势 实例271 利用时序图分析2009年国际原油价格走势 实例272 利用组合图表分析学生零用钱收支情况 第10章 基于Cewolf组件的图表编程 10.1...
  • c语言经典案例

    2014-10-30 08:06:57
    实例083 求从键盘输入字符个数 106 实例084 打印杨辉三角 108 实例085 求总数问题 109 实例086 彩球问题 110 实例087 新同学年龄 112 实例088 灯塔数量 113 实例089 计算12+22+…+102 114 实例090 循环显示...
  • Java开发实战1200例.第2卷.part3

    热门讨论 2013-05-08 22:46:34
    实例269 利用区域图分析不同学生的成绩变化 433 实例270 利用时序图分析股票价格走势 434 实例271 利用时序图分析2009年国际原油价格 走势 436 实例272 利用组合图表分析学生零用钱收支 情况 437 第10章 基于Cewolf...
  • Java开发实战1200例.第2卷.part2

    热门讨论 2013-05-08 22:45:35
    实例269 利用区域图分析不同学生的成绩变化 433 实例270 利用时序图分析股票价格走势 434 实例271 利用时序图分析2009年国际原油价格 走势 436 实例272 利用组合图表分析学生零用钱收支 情况 437 第10章 基于Cewolf...

空空如也

空空如也

1 2 3
收藏数 43
精华内容 17
关键字:

从键盘输入20名学生的成绩