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

c语言计算统计学生成绩

发布时间: 2021-01-02 16:08:15

1. 用c语言编写一个学生成绩统计系统 急!!

思路提示。创建一个头文件,定义二维数组保存学生成绩。声明求学生总成绩以及各科最高最低成绩函数。创建源文件,实现上述头文件声明的函数。创建main函数调用上述方法即可

2. 用C语言设计一个学生成绩统计程序,要求(1)输入30个学生一门功课的成绩。(2)计算班级平均分。

#include"stdio.h"
void main()
{
int n=0;
int num;

int zf=0;

for(n=0;n<30;n++)

{
printf("请输入第%d个学生的成绩:",n+1);

scanf("%d",&num);

zf+=num;

}

printf("该门功课的班版级平均分权为:%d\n",zf/30);

}

3. c语言先输入一个整数n,再输入n个学生成绩,统计及格学生的人数并输出

/*
把这个复制,并编译即可得到你想要的结果,同时你也可以追问。向我索取exe文件。
*/
# include <stdio.h>
# include <malloc.h>
struct Student//创造结构体变量
{

float score;
};
int main (void)
{
int len;
struct Student * pArr;
int i;
int j = 0;

printf("请输入学生的人数:\n");
printf("人数 = ");
scanf("%d",&len);

pArr = (struct Student *)malloc(len * sizeof(struct Student));

for(i=0;i<len;++i)//输入
{
printf("请输入第%d个学生的成绩;\n",i+1);
printf("成绩:");
scanf("%f", &pArr[i].score);

}

for(i=0; i<len;++i)
{
if(pArr[i].score > 60)
j += 1;
}

printf("及格的人数为:%d人。", j);

return 0;
}

4. 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();
}
亲,刚写好了。我没调试。这个仅供参考。自己调试,有错就找找。
是否可以解决您的问题?

5. C语言 计算每门课的平均成绩和每个学生的平均成绩

#include<stdio.h>
#include<stdlib.h>
#defineN2//输入学生的个数

structStudent
{
intsno;//学号
charsname[50];//姓名
intcourse1;//课程1
intcourse2;//课程2
intcourse3;//课程3
};

voidmain()
{
structStudentstu[N];
intindex;
intsum=0;

//输入学生信息
printf("输入学生情况(输入的时候按Tab健隔开): ");
printf("学号 姓名 课程1 课程2 课程3 ");
for(index=0;index<N;index++)
{
("%d %s %d %d %d",&stu[index].sno,&stu[index].sname,&stu[index].course1,&stu[index].course2,&stu[index].course3);
}

//打印单科结果
printf("输出单科结果 ");
for(index=0;index<N;index++)
{
sum+=stu[index].course1;
}
printf("课程1平均分:%d ",sum/N);

sum=0;
for(index=0;index<N;index++)
{
sum+=stu[index].course2;
}
printf("课程2平均分:%d ",sum/N);

sum=0;
for(index=0;index<N;index++)
{
sum+=stu[index].course3;
}
printf("课程3平均分:%d ",sum/N);

//打印学生平均分
printf("输出学生的结果: ");
for(index=0;index<N;index++)
{
printf("%s的平均分:%d ",stu[index].sname,(stu[index].course1+stu[index].course2+stu[index].course3)/3);
}
}

6. 使用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);
}
这个代码很容易懂。你拿去改下。。我就不给你调试了。这个是实现某班平均成绩然后输出平均成绩最高成绩的,如果采纳我的。我可以给你编一个很通用的

7. C语言编写一个成绩用来输入学生学号姓名成绩,并统计学生成绩的最大值,最小值,平均值,方差,判断学生

1、更多交流可参考我空间主页有关文章。
2、#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
/*定义结构体*/
struct student
{
int num;
float score;
struct student *next;
};
/*创建一个只有头结点的空链表*/
struct student *create_head()
{
struct student *head;
head=(struct student*)malloc(sizeof (struct student) );
if(head==NULL) //小心别漏这个
{
printf("申请头结点失败!\n");
return NULL;
}
head->next=NULL;
return head;
}
/*将s指向的结点插入链表,使链表保持升序,并返回头结点*/
struct student *insert(struct student *head,struct student *s)
{
struct student *p=head;
while(p->next!=NULL&&s->score>p->next->score)//特别注意&&左右不能写反,若s最大,最后p->next=NULL,p->next->score运行出错
p=p->next;
if(p->next==NULL) //s->score最大的情况 //其实两种情况可以并在一块写
{
p->next=s; //连接结点
s->next=NULL; //p->next就等于NULL
}
else
{
p->next=s; //连接结点
s->next=p->next;
}
return head ;
}
/*查找符合条件的结点,并返回指向该结点的指针*/
struct student *search(struct student *head)
{
struct student *p=head->next;
int num;
printf("请输入要查找学生的学号:\n");
scanf("%d",&num);
while(p!=NULL&&p->num!=num) //特别注意两条件不能写反,若写反最后p指向NULL时p->num找不到 运行出错
p=p->next;
if(p==NULL) //特别注意两个if不能调换,若调换最后p指向NULL时p->num运行出错
{
printf("找不到符合条件的结点!!!");
return NULL; //查找不到返回空指针
}
if(p->num==num)
{
printf("找到符合条件的结点\n该结点为%d\t%f",p->num,p->score);
return p; //返回查找到的指针
}
}
/*输出链表各结点的值,也称对链表的遍历*/
void print(struct student *head)
{
struct student *p;
printf(" 链表如下: \n");
p=head->next;
while(p!=NULL)
{
printf("%d\t%.1f\n",p->num,p->score);
p=p->next;
}
}
/*释放链表*/
void free_list(struct student *head)
{
struct student *p=head ;
printf("释放链表:\n");
while(p!=NULL)
{
head=head->next;
free(p);
p=head;
}
printf("释放链表成功!\n");
}
/*删除链表中值为num的结点,并返回链表的首指针*/
struct student *delete_note(struct student *head,int num_x)
{
struct student *p1=head->next , *p2=head ;
while(p1!=NULL&&p1->num!=num_x) //特别注意&&左右条件不能调换,若调换如果p1指向NULL时p1->num运行出错
{
p2=p1;
p1=p1->next;
}
if(p1==NULL) //特别注意两个if不能调换,若调换如果p1指向NULL时,p1->num运行出错
printf("找不到符合删除要求的结点!!!\n");
if(p1->num==num_x)
{
p2->next=p1->next;
free(p1);
printf("结点删除成功!\n");
}
return head;
}
/*完整的有头结点链表操作程序*/
void main()
{
struct student *p , *head ;
char c;
int num ;
float score ;
printf("有头结点链表操作程序:\n");
head=create_head();
while(1)
{
printf("I:插入结点(自动升序) P:输出链表 S:查找结点 D:删除结点 E:释放链表并退出程序! ");
c=getch();
switch(c)
{
case'I':
printf("请分别输入要插入学生的学号和分数:\n");
scanf("%d%f",&num,&score);
p=(struct student*)malloc( sizeof(struct student) );
if(p==NULL)
{
printf("申请该结点失败!!!\n");
exit (0) ;
}
p->num=num; p->score=score; //给p赋值
insert(head,p);
printf("插入成功!\n");
break;
case'P':
print(head);
break;
case'S':
search(head);
break;
case'D':
printf("请输入要删除的学生的学号:\n");
scanf("%d",&num);
delete_note(head,num);
break;
case'E':
free_list(head);
exit (0);
}
}
}

8. c语言:输入10个学生的成绩,求学生的平均成绩,并统计超过平均分数的学生人数

#include <stdio.h>
#include <malloc.h>
int max,min,k=0; float aver=0;
void f(int *p1,int *p0,int n)
{
i;p1=p0; float s=0;
for(i=0;i<n;i++) s+=*p1++;
aver=s/n;
max=0;min=100;p1=p0;
for(i=0;i<n;i++) {if(*p1>max) max=*p1;p1++;} p1=p0;
for(i=0;i<n;i++) {if(*p1<min) min=*p1;p1++;} p1=p0;
for(i=0;i<n;i++) {if(*p1>aver) k++ ;p1++;} p1=p0;
}

void main()
{
int *p,n,i;
printf("请输入班级总人数:\n") ;
scanf("%d",&n);
p=(int*)malloc(n*sizeof(int));
if(!p) return;
int *p0;p0=p;
printf("请在此输入各学生成绩:\n");
for(i=0;i<n;i++) scanf("%d",p++);
f(p,p0,n);
printf("平均分数:%3f\n",aver);
printf("最高分:%3d\n",max);
printf("最低分:%3d\n",min);
printf("超过平均分的人数:%3d\n",k);
free(p);
}

9. 用C语言设计一个学生成绩统计程序,

要求输入10个学生5门功课的成绩,分别用子函数求出:(1)每个学生的平均分;(2)每门功课的平均分;(3)找出最高分所对应的学生和功课。
#include<stdio.h>
#include<stdlib.h>
structstudent
{
doublescore[5];
}s[10];
voidavg()
{
printf(" ");
doublesum;
for(inti=0;i<10;i++)
{
sum=0;
printf("第%d位学生的平均分数是:",i+1);
for(intj=0;j<5;j++)
sum+=s[i].score[j];
printf("%.2lf ",sum/5);
}
printf(" ");
return;
}
voidtavg()
{
printf(" ");
doublesum;
for(intj=0;j<5;j++)
{
sum=0;
for(inti=0;i<10;i++)
sum+=s[i].score[j];
printf("第%d门功课的平均分是:%.2lf ",j+1,sum/10);
}
return;
}
voidmaxsc()
{
printf(" ");
doublemax=-1;
inti,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分,对应学生与功课如下: ",max);
for(i=0;i<10;i++)
{
for(intj=0;j<5;j++)
if(max==s[i].score[j])
{
printf("第%d位学生的第%d门成绩 ",i+1,j+1);
}
}
printf(" ");
}
intmain()
{
inti,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(" ");
}
printf(" ");

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

10. 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;
}

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

热点内容
武汉大学学生会辅导员寄语 发布: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