输入十个学生的学号和五门课程的成绩 统计输出五门课总分最高和最低的学生的学号和总分

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了输入十个学生的学号和五门课程的成绩 统计输出五门课总分最高和最低的学生的学号和总分相关的知识,希望对你有一定的参考价值。


"""
  100010 LI 78 89 98 65 53
  100011 Zhang 78 65 92 65 58   
  100012 Xie 89 76 63 99 100
  100013 Zkz 82 58 69 76 90
  100014 Wxj 76 88 62 100 96
  100015 Zcy 93 86 79 100 91
  100016 XieY 79 79 93 94 19
  100017 Zkzy 72 88 60 59 97
  100018 Wxjy 96 78 92 88 96
  100019 ZcyY 83 96 79 100 91

"""


class MaxMin:
    def __init__(self,dict1=None):
        self.dict1=
         
    def Lin(self,s=0):
        str1=str(input('请按上面标注的格式输入:'))
        L1=str1.split()
        for i in L1[2:]:
            s=s+int(i)
            d=L1[0]
        self.dict1.update(d:s)
        print("学号0,姓名1,五门总分2".format(L1[0],L1[1],s))

    def maxx(self,max=0,max_k=0):
         self.max=max
         self.max_k=max_k
         for k,v in self.dict1.items():
              if self.max<self.dict1.get(k):
                 self.max=v
                 self.max_k=k             
    
    def minn(self,min=500,min_k=0):
         self.min=min
         self.min_k=min_k
         for k,v in self.dict1.items():   
              if self.min>self.dict1.get(k):
                 self.min=v
                 self.min_k=k
  
       
n=0
L=MaxMin()
while n<10:
     n+=1
     L.Lin()

for k,v in L.dict1.items():
   L.maxx()
   L.minn()
print('0:*^30'.format('统计结果'))
print('学号0的总分最高1分;学号2的总分最低3分'.format(L.max_k,L.max,L.min_k,L.min))

追答

我已回答请评价

参考技术A h

用C语言写学生成绩管理系统基本功能:1、 输入一个班级的学生基本信息(包括学号,姓名,性别,5门课程成绩

2、 按姓名或学号查找、修改、删除和保存各个学生的信息。 3、 计算每个学生的各门功课总分和平均分,按学号或总分排序输出每个学生的基本信息及总分、平均分和名次等信息。4、 计算全班各门功课的平均分,显示每门课程中低于平均分的每一个学生的学号,姓名,性别,科目,成绩等信息。5、 显示每门科目中,成绩在90分以上的学生信息,以及每门科目中不及格的学生信息。6、 设置系统登录密码,只有正确输入密码方可进入管理系统。可更改和保存登录密码。

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <windows.h>

struct stud_node

long int ID; //学号
int age; //年龄
long int dormnumber,phonenumber; //宿舍号码,电话号码
char name[15]; //姓名
char sex; //性别
struct student*next;
;

struct stud_node*Create_Stu_Doc();//新建链表
int main(void)
system("color 3E");
FILE *fp=NULL;//定义文件指针
fp=fopen("stud.txt","wb");
if(fp==NULL)

printf("File open error \n");
exit (0);

struct stud_node*head,*p;
int choice,age;
long int ID,dormnumber,phonenumber;
char name[15],sex;
int size=sizeof(struct stud_node);

printf("+---------------------------+\n");
printf("| 欢迎使用教务信息管理系统 |\n");
printf("+---------------------------+\n");

printf("\n\t\t-----------------------------------------------------\n");
printf("\t\t+ 主菜单 +\n");
printf("\t\t-----------------------------------------------------\n");
printf("\t\t+ [1]--录入学生资料 +\n");
printf("\t\t+ [0]--退出系统 +\n");
printf("\t\t-----------------------------------------------------\n");
printf("\n");
printf("\t\t请输入您的选择:");

scanf("%d",&choice);
switch(choice)

case 0 : break;
case 1 : head=Create_Stu_Doc;break;
default:printf("\n无效选项!");



struct stud_node*Create_Stu_Doc()//新建链表

int y,age;
long int ID,dormnumber,phonenumber;
char name[15],sex;
int size=sizeof(struct stud_node);
struct stud_node*head,*tail,*p;
FILE *fp=NULL;//定义文件指针
fp=fopen("stud.txt","r");
head=tail=NULL;
printf("--------------------\n");
printf("请输入学生的学号:");
printf("请输入学生的姓名:");
printf("请输入学生的性别:");
printf("请输入学生的年龄:");
printf("请输入学生的宿舍号码:");
printf("请输入学生的电话号码:");
while(!feof(fp))

p=(struct stud_node *)malloc(size);
fscanf(fp,"%ld%c%c%d%ld%ld",&ID,&name,&sex,&age,&dormnumber,&phonenumber);
p->ID=ID;
strcpy(p->name,name);
strcpy(p->age,age);
p->dormnumber=dormnumber;
p->phonenumber=phonenumber;
p->next=NULL;
if(head==NULL) head=p;
else tail->next=p;
tail=p;

printf("\n1.继续输入.\n0.结束输入.\n");
printf("请选择:");
scanf("%d",&y);
if(y)
return head;
fclose(fp);

参考技术A 我正准备做这个程序,你想要什么版本的,是控制台版本的是还是win32版本的。

以上是关于输入十个学生的学号和五门课程的成绩 统计输出五门课总分最高和最低的学生的学号和总分的主要内容,如果未能解决你的问题,请参考以下文章

学生成绩管理系统 用C语言编写

034.用“结构”统计学生成绩

数组5科总分

6-9——今日强化练习^0^我好强——涉及:结构体函数指针数组

创建学生成绩表单,包括信息:学生学号,姓名和3门课程的成绩。

计算机专业的学生必须掌握的五门课程