输入十个学生的学号和五门课程的成绩 统计输出五门课总分最高和最低的学生的学号和总分
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版本的。
以上是关于输入十个学生的学号和五门课程的成绩 统计输出五门课总分最高和最低的学生的学号和总分的主要内容,如果未能解决你的问题,请参考以下文章
6-9——今日强化练习^0^我好强——涉及:结构体函数指针数组