当前位置:首页 » 考试成绩 » 求每班学生成绩平均分

求每班学生成绩平均分

发布时间: 2020-12-03 12:33:00

⑴ 编程统计全班学生成绩。要求每次键盘输入一个学生的3门课程分数,计算并输出每个学生的总分和平均分

我再TC上试过的,绝对正确!可以自己把班里同学的人数改一改~~
#include<stdio.h>
#define NUM 5 //(班里的人数)

typedef struct{
int score1;
int score2;
char name[10];
int final;
int ave;
}Student;
void input(Student stu[]);
void output(Student stu[]);
int main(){
Student stu[NUM];
int i;
input(stu);
output(stu);
}

void input(Student stu[]){
int i;
int better=0,good=0;
printf("Please enter students'name and scores:\n");
for(i=0;i<NUM;i++){
scanf("%s%d%d",&stu[i].name,&stu[i].score1,&stu[i].score2);
stu[i].final=stu[i].score1+stu[i].score2;
stu[i].ave=stu[i].final/2;
if(stu[i].ave>=85) better ++;
if(stu[i].ave>=60&&stu[i].ave<85) good++;
}
printf("the number of better and good is%5d %5d\n",better,good);
}
void output(Student stu[]){
int i;
printf("The final and average of every student is :\n");
printf("NAME FINAL AVE\n");
for(i=0;i<NUM;i++)
printf("%s%5d%5d\n",stu[i].name,stu[i].final,stu[i].ave);
}
另外,站长团上有产品团购,便宜有保证

⑵ 一个班有10个学生成绩,要求输入这10个学生成绩,然后求出他们的平均成绩(用代码求)

代码如下:

#include<stdio.h>
main()
{
inta[10],i;
floataver,s=0;
for(i=0;i<10;i++)
{
printf("请输入第%d个同学的成绩:",i+1);
scanf("%d",&a[i]);
s=s+a[i];
}
aver=s/10;
printf("平均分为%g ",aver);
}

⑶ excel 表中求指定班级的学生成绩平均分,如何用公式自动求出

2班平均分
=sumproct((A1:A100=2)*(C1:C100))/sumproct((A1:A100=2)*(C1:C100>0))

4班平均分
=sumproct((A1:A100=4)*(C1:C100))/sumproct((A1:A100=4)*(C1:C100>0))

补充回答:
2班和4班合在一起的平均分
=SUMPRODUCT(((A1:A100=4)+(A1:A100=2))*(C1:C100))/SUMPRODUCT(((A1:A100=4)+(A1:A100=2))*(C1:C100>0))

⑷ java题,三个班同学参加比赛,每个班五个学生。 求出每个班的总分和平均分

importjava.util.Scanner;
publicclassGetScores{
publicstaticvoidmain(String[]args){
//用二位数组代表一个班,第一个[]里面是班级号,第二个[]里面是学生号
double[][]scores=newdouble[3][5];

//如果是自行输入分数的话用这段,删除下一段
Scannerinput=newScanner(System.in);
for(inti=0;i<3;i++){
for(intj=0;j<5;j++){
System.out.print("请输入"+(i+1)+"班第"+(j+1)+"名学生的成绩:");
scores[i][j]=input.nextDouble();
}
}
//如果是已经知道分数的话用这段,删掉上面那段,把里面的0替换成你要用的分数
scores=newdouble[][]{{0,0,0,0,0},{0,0,0,0,0},{0,0,0,0,0}};

//最后计算总分和平均分
for(inti=0;i<3;i++){
doublesum=0,avg=0;
for(intj=0;j<5;j++)
sum+=scores[i][j];
avg=sum/5;
System.out.println((i+1)+"班总分"+sum+"平均分"+avg);
}
}
}

⑸ VB:求一个班100个学生的平均成绩,然后统计高于平均分的人数。编写代码!

On Error Resume Next
Dim A(99) As Long,B As Integer,C As Long,D As Long,E As Long
For B = 0 to 99
A(B)=InputBox("输入第" & b & "人的成绩","","100")
C=C+A(B)
Next B
D= C/100
Msgbox "均分专" & D
For B=0 to 99
If A(B)> D Then E=E+1
Next B
Msgbox "高于属均分" & E & "人"

⑹ Excel统计,每班各科成绩前60%学生的平均分,求公式!

以一科成绩为例,成绩在A1到A50,在A51用公式:
=AVERAGE(IF(LARGE(A1:A50,ROW(1:50))<=30,A1:A50))
数组公式,按CTRL+SHIFT+回车,完成公式。

⑺ excel 表中求指定班级的学生成绩平均分,如何用公式自动求出

说了你也不太明白,我举个例子吧。
假设你的表格是这样的
A
B
C
D
E
1
张三
15
16
17
2
李四
15
16
17
3
张五
15
16
17
A代表姓名,BCD分别代表语数英成绩,则在命令栏里输入
“=average(B1:D1)”
命令为引号内的部分,则计算机会在E栏里自动计算出1~4行3科的平均分。
但是,EXCEL只能计算一行内的结果,而无法计算1列内的结果。也就是说,如果2班张三和2班李四不在同一行内的话,是无法进行计算的。除非你将数据改为
A
B
C
D
E
1
2班
张三
李四
王五
2
15
90
20
3
3班
张五
李六
王七
4
80
85
20
那么,则可以用“=average(b2:d2)”
公式计算出所有人的平均分,显示在E项里
这里的答复没办法重复使用多个空格,所以列与列的顺序你要理清楚下。

⑻ c语言题目:已知一个班10个学生的成绩,要求输入这10个学生的成绩,然后求出它们的平均值。怎么写

#include<stdio.h>
main()
{
int a[10],i;
float aver,s=0;
for(i=0;i<10;i++)
{
printf("请输入第%d个同学的成绩:",i+1);
scanf("%d",&a[i]);
s=s+a[i];
}
aver=s/10;
printf("平均专分属为%g\n",aver);
}

⑼ 一个班有五名学生,每学生修了五门课,求每个学生的平均分,并输出每个学生的学号,每门课程成绩及平均值

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

typedef unsigned int uint;

typedef struct tagStudent student;

struct tagStudent
{
uint stuNum;
wchar_t name[10];
int scoreCh;
int scoreEn;
int scoreMath;
int totalScore;
double averScore;
};

int main(void)
{
int n = 0;
int i = 0, j = 0;
wchar_t wch = 0;
student *stu = NULL;
printf("请输入有多少个学生:\n");
scanf("%d", n);
getchar();

stu = (student *)malloc(sizeof(student)*n);
if(stu != NULL)
{
memset(stu, 0, sizeof(student)*n);
for(i = 0; i < n; i++)
{
printf("请输入第%d名学生的学号:\n",i+1);
scanf("%u", stu[i].stuNum);
getchar();
printf("请输入第%d名学生的姓名:\n",i+1);
j = 0;
while((wch = getwchar()) != '\n')
{
stu[i].name[j] = wch;
j++;
}
printf("请输入第%d名学生的语文分数:\n",i+1);
scanf("%d", stu[i].scoreCh);
getchar();
printf("请输入第%d名学生的数学分数:\n",i+1);
scanf("%d", stu[i].scoreMath);
getchar();
printf("请输入第%d名学生的英语分数:\n",i+1);
scanf("%d", stu[i].scoreEn);
getchar();
stu[i].totalScore = stu[i].scoreCh+stu[i].scoreMath+stu[i].scoreEn;
stu[i].averScore = stu[i].totalScore / 3;
}
for(i = 0; i < n-1; i++)
{
for(j = 0; j < n-1-i; j++)
{
if(stu[j].totalScore > stu[j + 1].totalScore)
{
student tempStu;
memset(tempStu, 0, sizeof(student));
memcpy(tempStu, stu+j, sizeof(student));
memcpy(stu+j, stu+j+1, sizeof(student));
memcpy(stu+j+1, tempStu, sizeof(student));
}
}
}
printf("名次 学号 姓名 语文 数学 英语 总分 平均分\n");
printf("=================================================================\n");
for(i = 0; i < n; i++)
{
printf("%d %u %S %d %d %d %d %.2f\n", i+1, stu[i].stuNum, stu[i].name, stu[i].scoreCh, stu[i].scoreMath, stu[i].scoreEn, stu[i].totalScore, stu[i].averScore);
}
}
system("pause");
return 0;
}

⑽ C语言编写 班级成绩统计分析 要求:1确定学生来自哪些班级,2计算各个班级平均成绩

C语言程序设计 班级学生成绩管理系统
解决时间:2009-6-26 09:50
基本要求
1. 初始化成绩表:将原成绩表的信息清空;
2. 显示班级学生成绩信息:按要求显示全部或特定学生成绩信息;
3. 插入学生成绩:插入一个学生成绩信息;
4. 修改学生成绩:先查找要修改成绩的学生学号,如果存在该学生学号,则输入该学生的各科新成绩,替换相应课程的原成绩,如不存在该学生学号,则提示“没找到”;
5. 删除学生成绩:先查找要删除成绩的学生学号,如果存在该学生学号,则删除该学生的相关信息,如不存在该学生学号,则提示“没找到”;
6. 查找学生成绩:可分别按学号、姓名查找学生成绩;
7. 求班级学生人数:统计各个班级的学生总人数;
8. 求每个学生的平均成绩:求各个学生的平均成绩,并显示学号、姓名、数分,高代,C语言,马哲、平均成绩等信息。
高级要求
1. 插入学生成绩时,需保证学号是唯一的;
2. 输入学生成绩时,要保证课程成绩的范围在0-100之间;
3. 显示各科成绩前三名的学生信息(学号、姓名、性别、班级、课程名称(数分或高代或C语言或马哲)、名次。
**********************
#include <stdio.h>
#include <malloc.h>
#include <string.h>
#include <conio.h>

#define ADDRFILE "c:\\addrlist.txt"

typedef struct tagLinkedList
{
char name[30];
char tel[30];
char addr[100];

struct tagLinkedList *prev;
struct tagLinkedLIst *next;
}ADDR;

ADDR *g_pAddrHead = NULL;
ADDR *g_pFind;
int g_bSaved = 1;

void get_addrlist(void);
int add_list(const ADDR *addr);
int find_list(const char *name);
void SetHeadPosition(void);
void SetTailPosition(void);

void Add_addr(void);
void Find_addr(void);
void Modify_addr(void);
void Delete_addr(void);
void Print_addr(void);
void Save_addr(void);
void Remove_addr(void);

void main(void)
{

int ch;

get_addrlist();

puts("通讯录程序 Version 1.0");

while(1)
{
printf("\n[1]新增 [2]搜索 [3]修改 [4]删除 [5]输出 [S]储存 [Q]退出");

ch = getch();

switch(ch)
{
case '1': Add_addr();break;
case '2': Find_addr();break;
case '3': Modify_addr();break;
case '4': Delete_addr();break;
case '5': Print_addr();break;
case 's':
case 'S': Save_addr();break;
case 'q':
case 'Q':
if(g_bSaved == 0)
{
printf("\n\n修改后的数据需要储存吗?(y/n)?");
ch = getchar();
if(ch == 'Y' || ch == 'y') Save_addr();
}

Remove_addr(); exit(1);
default : printf("\n\n 请按1~5或S/Q健.\n\n");break;
}
}
}

void get_addrlist(void)
{
ADDR addr;
FILE *fp;

fp = fopen(ADDRFILE,"rb");

if(fp == NULL)
{
perror("open file error;");
return;
}

while(!feof(fp))
{
fread(&addr,1,sizeof(ADDR),fp);

if(ferror(fp))
{
fclose(fp);
perror("file read error;");
return;
}

if(feof(fp))break;

if(add_list(&addr) == 0)
{
printf(".\n");
}
}

fclose(fp);
}

int add_list(const ADDR *addr)
{
ADDR *plocal,*pn = g_pAddrHead;

SetHeadPosition();

if(g_pAddrHead == NULL)
{
plocal = malloc(sizeof(ADDR));
memset(plocal,0,sizeof(ADDR));

if(plocal == NULL)
{
return 0;
}

g_pAddrHead = plocal;
g_pAddrHead->prev = NULL;
g_pAddrHead->next = NULL;
}
else
{
plocal = malloc(sizeof(ADDR));
memset(plocal,0,sizeof(ADDR));

if(plocal == NULL)
{
return 0;
}

while(pn->next)
{
pn = pn->next;
}

pn->next = plocal;
plocal->prev = pn;
plocal->next = NULL;

}

strcpy(plocal->name,addr->name);
strcpy(plocal->tel,addr->tel);
strcpy(plocal->addr,addr->addr);

return 1;
}

int find_list(const char *name)
{
ADDR *plocal;

SetHeadPosition();

plocal = g_pAddrHead;

while(plocal)
{
if(strstr(plocal->name,name))
{
g_pFind = plocal;
return 1;
}
plocal = plocal->next;
}

return 0;
}

void SetHeadPosition(void)
{
if(g_pAddrHead == NULL) return;

while(g_pAddrHead->prev)
{
g_pAddrHead = g_pAddrHead->prev;
}
}

void SetTailPosition(void)
{
if(g_pAddrHead == NULL) return;

while(g_pAddrHead->next)
{
g_pAddrHead = g_pAddrHead->next;
}
}

void Remove_addr(void)
{
ADDR *plocal;

if(g_pAddrHead == NULL) return;

SetHeadPosition();

while(g_pAddrHead)
{
plocal = g_pAddrHead->next;

free(g_pAddrHead);

g_pAddrHead = plocal;
}

g_pAddrHead = NULL;

}

void Add_addr(void)
{
ADDR addr;

memset(&addr,0,sizeof(ADDR));

printf("\n\nName: ");gets(addr.name);
if(strlen(addr.name) == 0) return;

printf("TEL: ");gets(addr.tel);
printf("ADDR: ");gets(addr.addr);

if(find_list(addr.name) == 1)
{
printf("\n已经存在的姓名.\n\n");
puts(g_pFind->name);
puts(g_pFind->tel);
puts(g_pFind->addr);
return;
}

if(add_list(&addr))
{
g_bSaved = 0;
printf("\n储存完毕.\n\n");
}
}

void Find_addr(void)
{
char buff[100] ={0,};
ADDR *plocal;

printf("\n\n请输入要查找的姓名/电话/地址.\n");
printf("姓名/电话/地址 :");gets(buff);

if(strlen(buff) == 0) return;

SetHeadPosition();

plocal = g_pAddrHead;
g_pFind = NULL;

while(plocal)
{
if(strstr(plocal->name,buff))
{
g_pFind = plocal;
break;
}

if(strstr(plocal->tel,buff))
{
g_pFind = plocal;
break;
}

if(strstr(plocal->addr,buff))
{
g_pFind = plocal;
break;
}
plocal = plocal->next;
}

if(g_pFind)
{
puts(g_pFind->name);
puts(g_pFind->tel);
puts(g_pFind->addr);
}
else
{
printf("\n\n搜索不到要找的%s.\n\n",buff);
}
}

void Modify_addr(void)
{
char name[100] = {0,};
ADDR addr;

while(1)
{
printf("\n\n要修改的姓名: ");gets(name);

if(strlen(name) == 0) return;

if(find_list(name) == 0)
{
puts("输入的姓名不存在.");
continue;
}
break;
}

printf("\n%s的通讯录如下:\n\n",name);
puts(g_pFind->name);
puts(g_pFind->tel);
puts(g_pFind->addr);

printf("\n输入要修改的姓名/电话/地址.\n\n");

printf("NAME: ");gets(addr.name);
printf("TEL : ");gets(addr.tel);
printf("ADDR: ");gets(addr.addr);

if(strlen(addr.name)==0) strcpy(addr.name,name);

strcpy(g_pFind->name,addr.name);
strcpy(g_pFind->tel,addr.tel);
strcpy(g_pFind->addr,addr.addr);

g_bSaved = 0;

printf("%s的通讯录修改成功.\n",name);
}

void Delete_addr(void)
{
char name[100] ={0,};
ADDR *plocal;
int ch;

while(1)
{
printf("\n\n要删除的姓名: ");gets(name);

if(strlen(name)==0) return;

if(find_list(name) == 0)
{
puts("要删除的通讯录不存在.");
continue;
}
break;
}

puts(g_pFind->name);
puts(g_pFind->tel);
puts(g_pFind->addr);

printf("确定要删除%s的通讯录吗(y/n)?",name);
ch = getch();
fflush(stdin);

if(ch == 'Y'||ch == 'y')
{
if(g_pFind->prev == NULL)
{
if(g_pFind->next == NULL)
{
free(g_pFind);
g_pAddrHead = NULL;
}
else
{
plocal = g_pFind->next;
free(g_pFind);
plocal->prev =NULL;
g_pAddrHead = plocal;
}
}
else if(g_pFind->next == NULL)
{
plocal = g_pFind->prev;
free(g_pFind);
plocal->next =NULL;
g_pAddrHead = plocal;
}
else
{
plocal = g_pFind->prev;
plocal->next = g_pFind->next;

plocal = g_pFind->next;
plocal->prev = g_pFind->prev;

free(g_pFind);
g_pAddrHead = plocal;
}

g_bSaved = 0;
printf("\n\n删除完毕.\n\n");
}
}

void Print_addr(void)
{
int count = 1;
ADDR *plocal;

SetHeadPosition();

if(g_pAddrHead == NULL)
{
printf("\n\n无任何数据\n");
return;
}

plocal = g_pAddrHead;
while(plocal->prev)
{
plocal=plocal->prev;
}

printf("\n\n");

while(plocal)
{
printf("NO.%d\n",count++);
puts(plocal->name);
puts(plocal->tel);
printf("%s\n\n",plocal->addr);

printf("请按任意一健(结束:q)\n\n");
getch();
if(getch() == 'q')return;

plocal=plocal->next;
}
}

void Save_addr(void)
{
ADDR *plocal, *pn;
FILE *fp;

if(g_pAddrHead == NULL) return;

fp = fopen(ADDRFILE,"w+b");

if(fp == NULL)
{
perror("file open error;");
return;
}

SetHeadPosition();

plocal = g_pAddrHead;

while(plocal)
{
pn = plocal->next;

plocal = pn;
}

printf("\n所有数据已经储存完毕.");
g_bSaved = 1;

fclose(fp);
} 嘿嘿,给分吧

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