跪求高手做一道C语言题目 用Turbo C编辑的 要求如下 给高分
编写一个成绩统计程序。要求:1)输入20名学生的记录,包括:学号、姓名、性别、一门课程成绩;2)按成绩从高到低的顺序排序;3)统计成绩在90-100,80-89,70-7...
编写一个成绩统计程序。要求:
1) 输入20名学生的记录,包括:学号、姓名、性别、一门课程成绩;
2) 按成绩从高到低的顺序排序;
3) 统计成绩在90-100, 80-89, 70-79, 60-69, 0-59区间的人数;
4) 计算及格率;
输入一个学号进行查询,输出该学生的所有信息 展开
1) 输入20名学生的记录,包括:学号、姓名、性别、一门课程成绩;
2) 按成绩从高到低的顺序排序;
3) 统计成绩在90-100, 80-89, 70-79, 60-69, 0-59区间的人数;
4) 计算及格率;
输入一个学号进行查询,输出该学生的所有信息 展开
2个回答
展开全部
#include <stdio.h>
struct student
{char name[20];
char number[10];
char sex[2];
float mark;
};
struct student stu[20];
void main()
{int i,j;
float n9,n8,n7,n6,n0,aver;
char num[10];
struct student temp;
n9=0; n8=0; n7=0; n6=0; n0=0;
printf("学号 姓名 性别 成绩\n");
printf("****************************\n");
for(i=0;i<3;i++)
{ scanf("%s %s %s %f",&stu[i].number,&stu[i].name,&stu[i].sex,&stu[i].mark);
if(stu[i].mark>=90)n9++;
if((stu[i].mark>=80)&&(stu[i].mark<90))n8++;
if((stu[i].mark>=70)&&(stu[i].mark<80))n7++;
if((stu[i].mark>=60)&&(stu[i].mark<70))n6++;
if(stu[i].mark<60)n0++;
}
aver=(n9+n8+n7+n6)/3*100;
printf("\n");
printf("当前学生情况\n");
printf("学号 姓名 性别 成绩\n");
printf("****************************\n");
for(i=0;i<3;i++)printf("%s %s %s %.1f\n",stu[i].number,stu[i].name,stu[i].sex,stu[i].mark);
printf("\n");
for(i=0;i<2;i++)
for(j=i+1;j<3;j++)
if(stu[i].mark>stu[j].mark){temp=stu[i];stu[i]=stu[j];stu[j]=temp;}
printf("排序后学生情况\n");
printf("学号 姓名 性别 成绩\n");
printf("****************************\n");
for(i=0;i<3;i++)printf("%s %s %s %.1f\n",stu[i].number,stu[i].name,stu[i].sex,stu[i].mark);
printf("\n");
printf("成绩分析情况\n");
printf("100-90 90-80 80-70 70-60 60以下 及格率(百分率)\n");
printf("****************************\n");
for(i=0;i<3;i++)printf("%.2f %.2f %.2f %.2f %.2f %.f\n",n9,n8,n7,n6,n0,aver);
printf("\n");
printf("请输入要查找学生的学号\n");
scanf("%s",&num);
for(i=0;i<3;i++)if(strcmp(stu[i].number,num)==0)break;
printf("\n");
printf("要查找的学生情况\n");
printf("学号 姓名 性别 成绩\n");
printf("****************************\n");
printf("%s %s %s %.1f",stu[i].number,stu[i].name,stu[i].sex,stu[i].mark);
getch();
}
struct student
{char name[20];
char number[10];
char sex[2];
float mark;
};
struct student stu[20];
void main()
{int i,j;
float n9,n8,n7,n6,n0,aver;
char num[10];
struct student temp;
n9=0; n8=0; n7=0; n6=0; n0=0;
printf("学号 姓名 性别 成绩\n");
printf("****************************\n");
for(i=0;i<3;i++)
{ scanf("%s %s %s %f",&stu[i].number,&stu[i].name,&stu[i].sex,&stu[i].mark);
if(stu[i].mark>=90)n9++;
if((stu[i].mark>=80)&&(stu[i].mark<90))n8++;
if((stu[i].mark>=70)&&(stu[i].mark<80))n7++;
if((stu[i].mark>=60)&&(stu[i].mark<70))n6++;
if(stu[i].mark<60)n0++;
}
aver=(n9+n8+n7+n6)/3*100;
printf("\n");
printf("当前学生情况\n");
printf("学号 姓名 性别 成绩\n");
printf("****************************\n");
for(i=0;i<3;i++)printf("%s %s %s %.1f\n",stu[i].number,stu[i].name,stu[i].sex,stu[i].mark);
printf("\n");
for(i=0;i<2;i++)
for(j=i+1;j<3;j++)
if(stu[i].mark>stu[j].mark){temp=stu[i];stu[i]=stu[j];stu[j]=temp;}
printf("排序后学生情况\n");
printf("学号 姓名 性别 成绩\n");
printf("****************************\n");
for(i=0;i<3;i++)printf("%s %s %s %.1f\n",stu[i].number,stu[i].name,stu[i].sex,stu[i].mark);
printf("\n");
printf("成绩分析情况\n");
printf("100-90 90-80 80-70 70-60 60以下 及格率(百分率)\n");
printf("****************************\n");
for(i=0;i<3;i++)printf("%.2f %.2f %.2f %.2f %.2f %.f\n",n9,n8,n7,n6,n0,aver);
printf("\n");
printf("请输入要查找学生的学号\n");
scanf("%s",&num);
for(i=0;i<3;i++)if(strcmp(stu[i].number,num)==0)break;
printf("\n");
printf("要查找的学生情况\n");
printf("学号 姓名 性别 成绩\n");
printf("****************************\n");
printf("%s %s %s %.1f",stu[i].number,stu[i].name,stu[i].sex,stu[i].mark);
getch();
}
展开全部
#include<stdio.h>
#define SIZE 10
struct student_type
{long number;
char name[20];
float chinese;
float english;
float math;
float total;
float average;
}stud[SIZE],temp;
float total(float x,float y,float z)
{
return(x+y+z);
}
float average(float x,float y,float z)
{
return((x+y+z)/3);
}
void sort()
{
int i,j;
for(i=0;i<SIZE;i++)
for(j=i+1;j<SIZE;j++)
{
if(stud[i].total<stud[j].total)
{
temp=stud[i];
stud[i]=stud[j];
stud[j]=temp;
}
}
}
void readout()
{int i;
clrscr();
printf("\n\n\n\t\t\t SUTUDENT RECORD\n\n\n");
printf("\n NUMBER NAME CHINESE ENGLISH MATH TOTAL AVERAGE\n\n\n");
for(i=0;i<SIZE;i++)
{
printf(" %-6ld %-10s %4.2f %4.2f %4.2f %4.2f %4.2f\n\n\n",stud[i].number,stud[i].name,stud[i].chinese,stud[i].english,stud[i].math,stud[i].total,stud[i].average);
}
printf("\n\n\n PRESS ANY KEY TO CONTINUE!");
getch();
}
void main()
{
int i;
float m,n,k,t,a;
for(i=0;i<SIZE;i++)
{
clrscr();
printf("\n\n\n\n\n @This is the number for student %d\n\n",i+1);
printf("\n\n\n @Please enter the number:");
scanf("%ld",&stud[i].number);
printf("\n\n\n @Please enter the name:");
scanf("%s",stud[i].name);
printf("\n\n\n @Plaese enter the Chinese score:");
scanf("%f",&m); stud[i].chinese=m;
printf("\n\n\n @Please enter the English score:");
scanf("%f",&n); stud[i].english=n;
printf("\n\n\n @Please enter the Math score:");
scanf("%f",&k); stud[i].math=k;
t=total(stud[i].chinese,stud[i].english,stud[i].math);
stud[i].total=t;
a=average(stud[i].chinese,stud[i].english,stud[i].math);
stud[i].average=a;
printf("\n\n\n\n\n PRESS ANY KEY TO CONTINUE!");
getch();
}
sort();
readout();
}
#define SIZE 10
struct student_type
{long number;
char name[20];
float chinese;
float english;
float math;
float total;
float average;
}stud[SIZE],temp;
float total(float x,float y,float z)
{
return(x+y+z);
}
float average(float x,float y,float z)
{
return((x+y+z)/3);
}
void sort()
{
int i,j;
for(i=0;i<SIZE;i++)
for(j=i+1;j<SIZE;j++)
{
if(stud[i].total<stud[j].total)
{
temp=stud[i];
stud[i]=stud[j];
stud[j]=temp;
}
}
}
void readout()
{int i;
clrscr();
printf("\n\n\n\t\t\t SUTUDENT RECORD\n\n\n");
printf("\n NUMBER NAME CHINESE ENGLISH MATH TOTAL AVERAGE\n\n\n");
for(i=0;i<SIZE;i++)
{
printf(" %-6ld %-10s %4.2f %4.2f %4.2f %4.2f %4.2f\n\n\n",stud[i].number,stud[i].name,stud[i].chinese,stud[i].english,stud[i].math,stud[i].total,stud[i].average);
}
printf("\n\n\n PRESS ANY KEY TO CONTINUE!");
getch();
}
void main()
{
int i;
float m,n,k,t,a;
for(i=0;i<SIZE;i++)
{
clrscr();
printf("\n\n\n\n\n @This is the number for student %d\n\n",i+1);
printf("\n\n\n @Please enter the number:");
scanf("%ld",&stud[i].number);
printf("\n\n\n @Please enter the name:");
scanf("%s",stud[i].name);
printf("\n\n\n @Plaese enter the Chinese score:");
scanf("%f",&m); stud[i].chinese=m;
printf("\n\n\n @Please enter the English score:");
scanf("%f",&n); stud[i].english=n;
printf("\n\n\n @Please enter the Math score:");
scanf("%f",&k); stud[i].math=k;
t=total(stud[i].chinese,stud[i].english,stud[i].math);
stud[i].total=t;
a=average(stud[i].chinese,stud[i].english,stud[i].math);
stud[i].average=a;
printf("\n\n\n\n\n PRESS ANY KEY TO CONTINUE!");
getch();
}
sort();
readout();
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询