当前位置:首页 » 考试成绩 » c语言统计学生成绩分布

c语言统计学生成绩分布

发布时间: 2021-01-14 15:04:20

㈠ 使用c语言编写程序,分别统计出每个学生的平均成绩。

#include<stdio.h>
#define N 5//这里设置班级人数
void main()
{
int i,sum=0,high=0,score;
float average;
printf("input everyone's score.\n");
for(i=0;i<N;i++)
{
scanf("%d",&score);
sum+=score;
if(score>high) high=score;
}
average=(float)sum/N;
printf("average=%f\n",average);
printf("highest=%d\n",high);
}
这个代码很容易懂。你拿去改下。。我就不给你调试了。这个是实现某班平均成绩然后输出平均成绩最高成绩的,如果采纳我的。我可以给你编一个很通用的

㈡ C语言学生成绩统计

可以给你。需要点时间。现在在上课。
#include <stdio.h>
void main()
{
int Password =0,i=0,sum=0;
clrscr();
printf("\n===请输入密码!====\n");
while(Password != 1234)
{
if(i>3)
{
printf(" 密码错误!\n ");
return;
}
i++;
printf(" 请输入密码!\n");
}
//以上为三次密码部分,密码默认1234。
int k=0,b=0;
int stu[50];
loop:
printf("1. 学生成绩录入(限人数50)\n");
printf("2. 显示学生成绩\n");
printf("3. 统计总分平均分\n");
printf("4. 最高分和最低分\n");
printf("5. 统计各分数段人数\n");
printf("6. 退出\n");
abc:
scanf("%d",&k);
switch(k)
{
case 1:
printf("请输入50个学生成绩:\n");
for(i=0;i<50;i++)
{
scanf("%d",&stu[i]);
b=i;
}
printf("请选择下一个选项:\n");
goto abc;
case 2:
if(b == 50)
{
printf(" 显示学生成绩:\n");
for(i=0;i<50;i++)
printf(" %d ",stu[i]);
printf("请选择下一个选项:\n");
goto abc;
}
else
{
clrscr();
printf("========================\n");
printf(" 请先输入50个学生成绩:\n");
goto loop;
}
case 3:
if(b == 50)
{
printf(" 显示学生总分:\n");
for(i=0;i<50;i++)
sum += stu[i];
printf(" %d ",sum);
printf("请选择下一个选项:\n");
goto abc;
}
else
{
clrscr();
printf("========================\n");
printf(" 请先输入50个学生成绩:\n");
goto loop;
}
case 4:
if(b == 50)
{
printf(" 显示学生最大分,最小分:\n");
min = stu[0];
max = stu[49];
for(i=0;i<50;i++)
if(min > stu[i])
min = stu[i];
for(i=0;i<50;i++)
if(max < stu[i])
max = stu[i];
printf(" %d %d ",max ,min);
printf("请选择下一个选项:\n");
goto abc;
}
else
{
clrscr();
printf("========================\n");
printf(" 请先输入50个学生成绩:\n");
goto loop;
}
case 5:
if(b == 50)
{
printf(" 统计各分数段人数:\n");
// ************************************
// 哥们,这里你自己来写好吗?我给点提示,把及格,不及格写出来。细分分数段,你自己来吧。
int x=0,y=0;
for(i=0;i<50;i++)
if (stu[i]>=60)
x++;
else
y++;
printf(" 及格人数 %d 人,不及格人数 %d 人\n",x,y);
// ***********************************
printf("请选择下一个选项:\n");
goto abc;
}
else
{
clrscr();
printf("========================\n");
printf(" 请先输入50个学生成绩:\n");
goto loop;
}
case 6:
break;
default:
clrscr();
printf("========================\n");
printf(" 请先输入50个学生成绩:\n");
goto loop;
}
//switch语句结束。
getch();
}
亲,刚写好了。我没调试。这个仅供参考。自己调试,有错就找找。
是否可以解决您的问题?

㈢ C语言程序设计统计学生成绩

用数复组,你学了制数组吗?
int i,b,c;
scanf("%d"&i); //输入需要几个学生成绩
int a[i]; //定义数组大小。
for (b=0;b<=i;b++) //循环输入成绩
a[i]=scanf("%d",c);

㈣ 用C语言编程 学生成绩统计

#include<stdio.h>
voidprint1(inta[],intn){
for(inti=0;i<n;i++)
printf("%d",a[i]);
printf(" ");
}

intmain()
{
inta[30],i,j,k=0,m=0,b[30],c[30],d[10]={0};
for(i=0;i<30;i++){
intscore;
scanf("%d",&score);
if(score<0){
j=i;
break;
}
a[i]=score;
}
for(i=0;i<j;i++){
if(a[i]>60)
b[k++]=a[i];
else
c[m++]=a[i];
d[a[i]/10]++;
}
printf("及格人数%d ",k);
print1(b,k);
printf("不及格人数%d ",m);
print1(c,m);
for(i=0;i<10;i++){
printf("%d到%d占:%d%% ",i,(i+1)*10-1,d[i]*10);
}
}

㈤ c语言 统计各个分数段的学生人数

intmain(void)
{
inta[6],i,cj,cj2,cj3,cj4,cj5,n;
scanf("%d",&a[0]);
n=0;
while(a[n]!=-1)
{
n++;
scanf("%d",&a[n]);
}
cj=0,cj2=0,cj3=0,cj4=0,cj5=0;
for(i=0;i<6-1;i++)
{
switch(a[i]/10)
{
case10:
case9:cj++;break;
case8:cj2++;break;
case7:cj3++;break;
case6:cj4++;break;
default:cj5++;break;
}
}
printf("<60:%d 60~69:%d 70~79:%d 80~89:%d 90~100:%d ",cj5,cj4,cj3,cj2,cj);
return0;
}

㈥ C语言课设学生成绩统计分布

/*内容:数据格式为,学号,姓名,成绩。
要求:贯彻结构化的程序设计思想。
用户界面友好。
用户界面中的菜单至少包括“读取数据”,“按学号或姓名查询成绩”,“统计各分数段人数”,“退出”4项。分数段
指不及格,及格,中等,良好,优秀5种成绩。
代码应适当缩进,并给出必要的注释,以增强程序的可读性。*/
#include"stdio.h"
#include"string.h"
#include"conio.h"
#include"stdlib.h"
#define N 20
typedef struct
{char name[10];
int num;
int chengji;
}stu;
void menu()
{system("cls");
printf("1.输入信息\n");
printf("2.显示\n");
printf("3.统计\n");
printf("4.查找\n");
printf("5.退出");
printf("请选择:");
}
void input()
{FILE *fp;
stu xs;
if((fp=fopen("student12.dat","ab"))==NULL) {printf("can't open file!\n");exit(0);}
printf("\n录入格式: 姓名 学号 成绩当输入姓名为ps结束录入\n");
while(1)
{
scanf("%s",xs.name);
if(strcmp(xs.name,"ps")==0) break;
scanf("%d%d",&xs.num,&xs.chengji);
fwrite(&xs,sizeof(stu),1,fp);
}
fclose(fp);
}
void output()
{FILE *fp;
stu xs;
system("cls");
if((fp=fopen("student12.dat","rb"))==NULL) {printf("can't open file!\n");exit(0);}
printf("姓名 学号 成绩\n");
while(!feof(fp))
{
fread(&xs,sizeof(stu),1,fp);
if(feof(fp)) break;
printf("%-15s%-13.8d%-10d%\n",xs.name,xs.num,xs.chengji);
}
fclose(fp);
getch();
}
//按学号找
void seek1()
{FILE *fp;
stu xs;
int number;
printf("\n请输入学号:");
scanf("%d",&number);
if((fp=fopen("student12.dat","rb"))==NULL) {printf("can't open file!\n");exit(0);}
while(!feof(fp))
{fread(&xs,sizeof(stu),1,fp);
if(feof(fp))break;
if(xs.num==number)
{printf("姓名 学号 成绩\n");
printf("%-13s %-6.3d %-6d\n",xs.name,xs.num,xs.chengji);
}
}
getch();
}
//按姓名找
void seek2()
{FILE *fp;
char name[10];
stu xs;
printf("\n请输入姓名:");
scanf("%s",name);
if((fp=fopen("student12.dat","rb"))==NULL) {printf("can't open file!\n");exit(0);}
while(!feof(fp))
{fread(&xs,sizeof(stu),1,fp);
if(feof(fp))break;
if(strcmp(xs.name,name)==0)
{printf("姓名 学号 成绩\n");
printf("%-13s %-6.3d %-6d\n",xs.name,xs.num,xs.chengji);
}
}
fclose(fp);
getch();

}
//查找
void seek()
{ char ch;
(void)getchar();
printf("\n请输入查找类别:\n1.学号\n2.姓名\n");
ch=getchar();
switch(ch)
{case '1':seek1();break;
case '2':seek2();break;
}

}
//统计
void tongji()
{FILE *fp;
stu xs[N];
int i=0,A=0,B=0,C=0,D=0,E=0;
printf("\n各分数段统计如下:");
if((fp=fopen("student12.dat","rb"))==NULL) {printf("can't open file!\n");exit(0);}
while(!feof(fp))
{fread(&xs[i],sizeof(stu),1,fp);
if(feof(fp))break;
if(xs[i].chengji<60)A++;
if(xs[i].chengji>=60&&xs[i].chengji<70)B++;
if(xs[i].chengji>=70&&xs[i].chengji<80)C++;
if(xs[i].chengji>=80&&xs[i].chengji<90)D++;
if(xs[i].chengji>=90&&xs[i].chengji<=100)E++;
i++;

}
printf("\n不及格:%d\n及格:%d\n中等:%d\n良好:%d\n优秀:%d\n",A,B,C,D,E);
getch();
}
void main()
{char ch;
while(1)
{menu();
ch=getche();
if(ch=='5')break;
switch(ch)
{case '1':input();break;
case '2':output();break;
case '3':tongji();break;
case'4':seek();break;
}
}
printf("\n欢迎下次使用!\n");
}

㈦ C语言 统计学生成绩

#include<stdio.h>
#include<stdlib.h>
struct student
{
double score[5];
}s[10];
void avg()
{
printf("\n");
double sum;
for(int i=0;i<10;i++)
{
sum=0;
printf("第%d位学生的平均分数是: ",i+1);
for(int j=0;j<5;j++)
sum+=s[i].score[j];
printf("%.2lf\n",sum/5);
}
printf("\n");
return ;
}
void tavg()
{
printf("\n");
double sum;
for(int j=0;j<5;j++)
{
sum=0;
for(int i=0;i<10;i++)
sum+=s[i].score[j];
printf("第%d门功课的平均分是: %.2lf\n",j+1,sum/10);
}
return ;
}
void maxsc()
{
printf("\n");
double max=-1;
int i,j;
for( i=0;i<10;i++)
{
for( j=0;j<5;j++)
if(max<s[i].score[j])
{
max=s[i].score[j];
}
}
printf("最高分是:%.2lf分,对应学生与功课如下:\n",max);
for(i=0;i<10;i++)
{
for(int j=0;j<5;j++)
if(max==s[i].score[j])
{
printf("第%d位学生的第%d门成绩\n",i+1,j+1);
}
}
printf("\n");
}
int main()
{
int i,j;
for(i=0;i<10;i++)
{
for(j=0;j<5;j++)
{
printf("输入第%d位学生的第%d门功课的成绩: ",i+1,j+1);
scanf("%lf",&s[i].score[j]);
printf("\n");
}
printf("\n");

}
printf("学生平均分数情况:\n");
avg(); //每个学生的平均分
printf("功课平均分数情况:\n");
tavg(); //每门功课的平均分
printf("最高分数即对应学生功课:\n");
maxsc(); //最高分对应的学生和功课
system("PAUSE");
return 0;
}

㈧ c语言学生成绩统计系统

#include<stdio.h>
#include<string.h>
#define NUM1 3
#define NUM2 3
#define NUM3 3
struct student
{
char name[10];
int score;
}c1[NUM1],c2[NUM2],c3[NUM3];//定义三个结构体数组
int i,j,k;
FILE *fp1_order,*fp2_order,*fp3_order;/*/定义文件指针
/*/=========================================================
void main(void)
{
void data_in(void);
void score_order(void);
void save_in(void);
void save_order(void);
void open_order(void);
printf("******************************学生成绩文件管理******************************\n");
printf(" programmer:喻翔\n\n");
printf("一、输入三个班的学生姓名和成绩:\n\n");
data_in();
printf("\n\n\n");
printf("############################################################################\n\n");
printf("二、保存输入的姓名和成绩:\n\n");
save_in();
printf("\n\n\n\n");
printf("############################################################################\n\n");
printf("三、排名并保存姓名和成绩:\n\n");
score_order();
save_order();
printf("\n\n\n\n");
printf("############################################################################\n\n");
printf("四、验证排名后保存的文件:\n\n");
open_order();
printf("\n\n\n");
}
//=============================================================
void data_in(void)
{
printf("请输入一班%d个学生的姓名和成绩:\n",NUM1);
for(i=0;i<NUM1;i++)
{
printf("第%d个:",i+1);
scanf("%s %d",c1[i].name,&c1[i].score);
}
printf("\n\n\n请输入二班%d个学生的姓名和成绩:\n",NUM2);
for(j=0;j<NUM2;j++)
{
printf("第%d个:",j+1);
scanf("%s %d",c2[j].name,&c2[j].score);
}
printf("\n\n\n请输入三班%d个学生的姓名和成绩:\n",NUM3);
for(k=0;k<NUM3;k++)
{
printf("第%d个:",k+1);
scanf("%s %d",c3[k].name,&c3[k].score);
}
}
//=============================================================
void score_order(void)
{
int h,t;
char s[10];
for(h=0;h<NUM1-1;h++)
for(i=0;i<NUM1-1-h;i++)
if(c1[i].score<c1[i+1].score)
{
t=c1[i].score;
c1[i].score=c1[i+1].score;
c1[i+1].score=t;
strcpy(s,c1[i].name);//一定要使用strcpy()函数
strcpy(c1[i].name,c1[i+1].name);
strcpy(c1[i+1].name,s);
}
for(h=0;h<NUM2-1;h++)
for(j=0;j<NUM2-1-h;j++)
if(c2[j].score<c2[j+1].score)
{
t=c2[j].score;
c2[j].score=c2[j+1].score;
c2[j+1].score=t;
strcpy(s,c2[j].name);
strcpy(c2[j].name,c2[j+1].name);
strcpy(c2[j+1].name,s);
}

for(h=0;h<NUM3-1;h++)
for(k=0;k<NUM3-1-h;k++)
if(c3[k].score<c3[k+1].score)
{
t=c3[k].score;
c3[k].score=c3[k+1].score;
c3[k+1].score=t;
strcpy(s,c3[k].name);
strcpy(c3[k].name,c3[k+1].name);
strcpy(c3[k+1].name,s);
}
}
//=====================================================================
void save_in(void)
{
FILE *fp1_in,*fp2_in,*fp3_in;
if((fp1_in=fopen("data1_in.dat","wb"))==NULL)
{
printf("The file can not open!\n");
return;
}
for(i=0;i<NUM1;i++)
if(fwrite(&c1[i],sizeof(struct student),1,fp1_in)!=1)
{
printf("file write error!\n");
return;
}
fclose(fp1_in);
if((fp2_in=fopen("data2_in.dat","wb"))==NULL)
{
printf("The file can not open!\n");
return;
}
for(j=0;j<NUM2;j++)
if(fwrite(&c2[j],sizeof(struct student),1,fp2_in)!=1)
{
printf("file write error!\n");
return;
}
fclose(fp2_in);
if((fp3_in=fopen("data3_in.dat","wb"))==NULL)
{
printf("The file can not open!\n");
return;
}
for(k=0;k<NUM3;k++)
if(fwrite(&c3[k],sizeof(struct student),1,fp3_in)!=1)
{
printf("file write error!\n");
return;
}
fclose(fp3_in);
}

//==============================================================
void save_order(void)
{
if((fp1_order=fopen("data1_order.dat","wb"))==NULL)
{
printf("The file can not open!\n");
return;
}
for(i=0;i<NUM1;i++)
if(fwrite(&c1[i],sizeof(struct student),1,fp1_order)!=1)
{
printf("file write error!\n");
return;
}
fclose(fp1_order);
if((fp2_order=fopen("data2_order.dat","wb"))==NULL)
{
printf("The file can not open!\n");
return;
}
for(j=0;j<NUM2;j++)
if(fwrite(&c2[j],sizeof(struct student),1,fp2_order)!=1)
{
printf("file write error!\n");
return;
}
fclose(fp2_order);
if((fp3_order=fopen("data3_order.dat","wb"))==NULL)
{
printf("The file can not open!\n");
return;
}
for(k=0;k<NUM3;k++)
if(fwrite(&c3[k],sizeof(struct student),1,fp3_order)!=1)
{
printf("file write error!\n");
return;
}
fclose(fp3_order);
}

//=============================================================
void open_order(void)
{
fp1_order=fopen("data1_order.dat","rb");
printf("一班的成绩排名如下:\n");
printf("名次 姓名 C语言成绩\n");
printf("----------------------------------------\n");
for(i=0;i<NUM1;i++)
{
printf("第%d名 ",i+1);
fread(&c1[i],sizeof(struct student),1,fp1_order);
printf("%s %d\n",c1[i].name,c1[i].score);
}
fp2_order=fopen("data2_order.dat","rb");
printf("\n\n\n二班的成绩排名如下:\n");
printf("名次 姓名 C语言成绩\n");
printf("----------------------------------------\n");
for(j=0;j<NUM2;j++)
{
printf("第%d名 ",j+1);
fread(&c2[j],sizeof(struct student),1,fp2_order);
printf("%s %d\n",c2[j].name,c2[j].score);
}
fp3_order=fopen("data3_order.dat","rb");
printf("\n\n\n三班的成绩排名如下:\n");
printf("名次 姓名 C语言成绩\n");
printf("----------------------------------------\n");
for(k=0;k<NUM3;k++)
{
printf("第%d名 ",k+1);
fread(&c3[k],sizeof(struct student),1,fp3_order);
printf("%s %d\n",c3[k].name,c3[k].score);
}
}

㈨ c语言统计学生成绩

#include <stdio.h>
#define N 2
#define M 2
int s[N]={0},a[N][M];
char b[N][10];
void fun1(int a[N][M])
{
int i,j;
for(i=0;i<N;i++)
{
for(j=0;j<M;j++)
s[i]+=a[i][j];
printf("第%d个同学的平均分是%.2f\n",i+1,s[i]/5.0);
}
}

void fun2(int a[N][M])
{
float p[M]={0};
int i,j;
for(i=0;i<M;i++)
{
for(j=0;j<N;j++)
p[i]+=a[j][i];
p[i]/=10.0;
printf("第%d门课程的平均分是%.2f\n",i+1,p[i]);
}
}

void fun3(char b[N][10])
{
int max,t,i;
max=s[0];
for(i=1;i<N;i++)
if(s[i]>max)
{
max=s[i];
t=i; /*记住最大时i的值,以便找到姓名*/
}
printf("%s荣获所有学生中最高分%d分\n",b[t],max);
}

main()
{
int i,j;
float p[M]={0};

/* 输入姓名和成绩*/
for(i=0;i<N;i++)
{
printf("输入第%d个学生的姓名:",i+1);
scanf("%s",&b[i]);
for(j=0;j<M;j++)
{
printf("输入该学生的第%d门成绩:",j+1);
scanf("%d",&a[i][j]);
}
}
printf("\n");
/*计算每个同学平均分*/
fun1(a);
printf("\n");
/*计算每门课的平均分*/
fun2(a);
printf("\n");
/*比较求出最大总分和输出姓名*/
fun3(b);
return 0;
}

代码经过测试了 运行成功
如果有什么不懂的可以问我

㈩ C语言菜鸟问题(统计学生总成绩和平均分)

#include<stdio.h>
void
main()
{
int
n,i;
float
score,sum=0.0,aver;//sum
一开始来要源赋值,经常出现这种错误
printf("请输入学生人数:");
scanf("%d",&n);
for(i=1;i<=n;i++)
{
printf("请输入学生成绩:");
scanf("%f",&score);
if(score<0||score>100)//逻辑问题,一开始你的把正确的分数都过滤了
continue;
sum=score+sum;
}
printf("学生总成绩为:%f\n",sum);
aver=sum/n;
printf("学生平均成绩为:%f\n",aver);
}

热点内容
武汉大学学生会辅导员寄语 发布:2021-03-16 21:44:16 浏览:612
七年级学生作文辅导学案 发布:2021-03-16 21:42:09 浏览:1
不屑弟高考成绩 发布:2021-03-16 21:40:59 浏览:754
大学毕业证会有成绩单 发布:2021-03-16 21:40:07 浏览:756
2017信阳学院辅导员招聘名单 发布:2021-03-16 21:40:02 浏览:800
查询重庆2018中考成绩查询 发布:2021-03-16 21:39:58 浏览:21
结业考试成绩怎么查询 发布:2021-03-16 21:28:40 浏览:679
14中医医师资格笔试考试成绩查分 发布:2021-03-16 21:28:39 浏览:655
名著赏析课程标准 发布:2021-03-16 21:27:57 浏览:881
北京大学商业领袖高端培训课程 发布:2021-03-16 21:27:41 浏览:919