69,371
社区成员
发帖
与我相关
我的任务
分享
#include<stdio.h>
#include"string.h"
void calculdata();
void inputdata();
//void cacludata();
void statisdata();
void querydata();
char name[100][15];
float score[100][4];
int sum;
int main()
{
{
int choo;
printf("请输入实际学生人数:");
scanf("%d",&sum);
while(1)
{
printf("请选择下面的某一项任务:");
printf("\n(1)输入每个学生的姓名,平时成绩,期中成绩,期末成绩");
printf("\n(2)计算并输出每个学生的总评成绩。");
printf("\n(3)根据总评成绩对学生分类统计,输出各分数段的学生数。") ;
printf("\n(4)根据根据输入的学生姓名,查找并打印该学生的各项成绩") ;
printf("\n(5)结束程序运行");
printf("\n请输入你的选择(1或2或3或4或5):") ;
scanf("%d",&choo);
if(choo>=5)break;
switch(choo)
{
case 1 : inputdata(); break;
case 2 : calculdata(); break;//
case 3 : statisdata(); break;
case 4 : querydata(); break;
}
}
printf("\n程序运行结束,再见。");
}
return 0;
}
void inputdata()
{
int i;
for(i=0;i<sum;i++)
{
printf("\n请输学生的姓名:");
gets(name[i]);
printf("请输入学生平时,期中,期末成绩(例如98,95,96):");
scanf("%f,%f,%f",&score[i][0],&score[i][1],&score[i][2]) ;
}
}
void calculdata()
{
int i;
for(i=0;i<sum;i++)
{
score[i][3]=float(0.1*score[i][0]+0.3*score[i][1]+0.6*score[i][2]);
}
printf("\n每个学生总评成绩如下:\n");
for(i=0;i<sum;i++)
{
printf("%s:%f\n",name[i],score[i][3]);
}
}
void statisdata()
{
int i,d;
int grade[5]={0};
for(i=0;i<sum;i++)
{
d=(int)(score[i][3]/10);
switch(d)
{
case 10 : grade[4]=grade[4]+1; break;
case 9 : grade[3]=grade[3]+1; break;
case 8 : grade[2]=grade[2]+1; break;
case 7 : grade[1]=grade[1]+1; break;
case 6 : grade[0]=grade[0]+1; break;
default : grade[0]=grade[0]+1;
}
}
printf("\n总评成绩>90的人数是:%d",grade[4]);
printf("\n总评成绩>80且<90的人数是: %d",grade[3]);
printf("\n总评成绩>70且<80的人数是: %d",grade[2]);
printf("\n总评成绩>60且< 70的人数是:%d",grade[1]);
printf("\n总评成绩<60的人数是: %d",grade[0]);
printf("\n");
}
void querydata()
{
char lookname[20];
int i;
printf("\n请输入姓名:");
gets(lookname);
for(i=0;i<sum;i++)
{
if(strcmp(name[i],lookname)==0)
{
printf("平时成绩%f,期中成绩%f,期末成绩%f,总评成绩%f\n",score[i][0],score[i][1],score[i][2],score[i][3] );
}
if(i==sum) printf("没有找到!\n");
}
}