计算二组学生总成绩
㈠ 定义一个二维数组储存5位学生4科考试成绩,计算并输出每位同学的平均成绩和平均成绩最高的学生姓名和成绩
程序如下:
#include<stdio.h>
#include<string.h>
structstudent
{
charname[20];
floatscore[4];
floataverage;
}grade[5];
voidmain()
{
//输入5位同学的姓名和4门功课的成绩
inti=0,j=0;
floatnum=0.0;
floathigh;
charstudentname[20];
for(i=0;i<5;i++)
{
printf("输入第%d位同学的姓名和四门功课的成绩 ",i+1);
//输入姓名
printf("姓名:");
scanf("%s",grade[i].name);
getchar();//接收回车字符或者空格
//输入4门功课的成绩
for(j=0;j<4;j++)
{
printf("第%d门功课的成绩:",j+1);
scanf("%f",&grade[i].score[j]);
getchar();
}
}
//计算每个同学的平均成绩
for(i=0;i<5;i++)//5个人
{
num=0;//计算每个同学的平均成绩后,num重新初始化为0,再来计算其他同学的成绩
for(j=0;j<4;j++)//4门功课
//求总分
num+=grade[i].score[j];
//计算平均成绩
grade[i].average=num/4;
}
//求平均成绩最好的同学的信息
high=grade[0].average;
for(i=1;i<5;i++)
if(grade[i].average>high)
{
high=grade[i].average;
strcpy(studentname,grade[i].name);
}
//输出每位同学的平均成绩信息
printf(" ");
printf("每位同学的姓名和平均成绩如下: ");
for(i=0;i<5;i++)
{
printf("姓名:%s,平均成绩:%f ",grade[i].name,grade[i].average);
}
//输出最好的成绩
printf(" ");
printf("平均成绩最好的同学姓名:%s,平均成绩:%f ",studentname,high);
getchar();//待输入回车后退出
}
运行情况如下:
㈡ 求m个学生n课程的总成绩和平均成绩(用二维数组做)
这个
用一维数组保存学生姓名
用二维数组保存学生的两门课程成绩
统计每门课程的总成绩,平均分,最高分和最低分
这个很好做,要代码可以加我好友.
㈢ 求C语言程序:创建二维数组 输入5个学生的四门课成绩 编程计算每个学生的总分和每门课的平均分~~谢谢
类似的回答:
#include <stdio.h>
#define M 5
#define N 4
int sumStu(int a[][N],int n) //每个同学的总成绩
{
int sum=0,i;
for(i=0;i<N;i++)
sum+=a[n][i];
return sum;
}
int sumSco(int a[][N],int n) //每门课的总成绩,后求平均分
{
int sum=0,i;
for(i=0;i<M;i++)
sum+=a[i][n];
return sum;
}
void sort(int sum[M]) //冒泡排序
{
int i,j,t;
for(i=0;i<M;i++)
for(j=0;j<M-i-1;j++)
if(sum[j]<sum[j+1])
{
t=sum[j];
sum[j]=sum[j+1];
sum[j+1]=t;
}
}
void main()
{
int i,a[M][N],sum1[M],sum3[M],k,j;
float sum2[N];
printf("string:\n");
for(k=0;k<M;k++)
for(j=0;j<N;j++)
scanf("%d",&a[k][j]);
for(i=0;i<M;i++)
sum1[i]=sum3[i]=sumStu(a,i);
for(i=0;i<N;i++)
sum2[i]=sumSco(a,i);
sort(sum3);
printf("每个同学的总成绩:\n");
for(i=0;i<M;i++)
printf("%d ",sum1[i]);
printf("\n每门课的平均分:\n");
for(i=0;i<N;i++)
printf("%0.2f ",sum2[i]/5);
printf("\n每个同学的总成绩由大到小排序:\n");
for(i=0;i<M;i++)
printf("%d ",sum3[i]);
printf("\n");
}
㈣ 用excel如何测两组数据的相关程度 一组数据是学生的口试成绩,一组是学生的总成绩
如果口试成绩在B2:B100,总成绩在C2:C100,计算相关系数,输入
=CORREL(B2:B100,C2:C100)
㈤ 电子表格(利用 SUM If函数)计算二组学生总数怎么做,急用谢谢了
没有具体数据表,不好说。
如果是2007及以后的版本,多条件求和可用SUMIFS函数。
㈥ 学生成绩计算 已知10个学生的5门课程的成绩,将其存入一个二维数组,求每一个学生的总成绩和每一个学生的
#include<stdio.h>
#define N 10
#define M 7
main()
{int i,j;float a[N][M],s,m;
printf("输入%d个学生的抄%d成绩:\n",N,M-2);
for(i=0;i<N;i++)
{s=0;
for(j=0;j<M-2;j++)
{scanf("%f",&a[i][j]);
s+=a[i][j];}
a[i][M-2]=s;
m=s/(int)(M-2);
a[i][M-1]=m;}
printf("总分 平均分\n");
for(i=0;i<N;i++)
{
for(j=M-2;j<M;j++)
printf("%4.2f ",a[i][j]);
printf("\n");}
}
自己编的 可以参考参考 希望能帮助你!
㈦ 已知10个学生5门课程的成绩,将其存入一个二维数组,求每一个学生的总成绩和平均成绩。
#include<stdio.h>
#include<stdlib.h>
intmain()
{
//float二维数组
floata[10][5];
//变量自i,j
inti,j;
//定义sum,average并初始化每一个元素
floatsum[10]={0},average[10]={0};
//循环输入每个元素
for(i=0;i<10;i++)
for(j=0;j<5;j++)
scanf("%f",&a[i][j]);
//求sum与average
for(i=0;i<10;i++)
{
for(j=0;j<5;j++)
{
sum[i]=sum[i]+a[i][j];
average[i]=sum[i]/5.0;
}
}
//循环输出
for(i=0;i<10;i++)
printf("%f%f ",sum[i],average[i]);
//程序正常结束
return0;
}
㈧ 用二维数组求五名学生的三门成绩的平均分和总分
只是给个思路,定义一个5X6的二维数组,用来保留五名学生的个人信息,三门成绩,以及总分,平均分。
使用双重循环,外循环负责改变学生信息,内循环负责计算总分和平均分并打印输出。就可以了。
㈨ 一个年级有m个班,每个班有n个学生,编写java程序用二维数组保存学生成绩,计算学生平均成绩
publicclassScoreDemo{
publicstaticvoidmain(String[]args){
intm=2;//班级个数
intn=3;//每个班级的人数
int[][]ary=newint[m][n];
inputScore(ary);//输入每个人的分数,保存到数组
printAvg(ary);//打印平均分
}
privatestaticvoidprintAvg(int[][]ary){
intindex=0;//计算人数
inttotal=0;//累加总分
for(inti=0;i<ary.length;i++){
intclassTotal=0;//班级总分
for(intj=0;j<ary[i].length;j++){
index++;
intscore=ary[i][j];
classTotal+=score;
}
total+=classTotal;
System.out.println("---------"+(i+1)+"班考试情况---------");
System.out.println("班级总分"+classTotal+" 班级人数"+ary[i].length);
System.out.println((i+1)+"班级平均分"+classTotal*1.0/ary[i].length);
}
System.out.println("---------年级考试情况-------");
System.out.println("年级总分"+total+" 年级人数"+index);
System.out.println("年级平均分:"+total*1.0/index);
}
privatestaticvoidinputScore(int[][]ary){
Scannerinput=newScanner(System.in);
for(inti=0;i<ary.length;i++){
System.out.println("-------"+"班级"+(i+1)+"-------");
for(intj=0;j<ary[i].length;j++){
System.out.print("第"+(j+1)+"号的成绩:");
intscore=input.nextInt();
ary[i][j]=score;
}
}
}
}
运行测试
-------班级1-------
第1号的成绩:80
第2号的成绩:90
第3号的成绩:100
-------班级2-------
第1号的成绩:100
第2号的成绩:100
第3号的成绩:90
---------1班考试情况---------
班级总分270 班级人数3
1班级平均分90.0
---------2班考试情况---------
班级总分290 班级人数3
2班级平均分96.66666666666667
---------年级考试情况-------
年级总分560 年级人数6
年级平均分:93.33333333333333
㈩ C语言中用二维数组统计学生成绩,还要求每科平均成绩,每个人的平均成绩。还想输入学号。求修改,补充
#include <stdio.h>
//不知道你有没有学动态数组,所以写成宏定义改起来方便
#define N 100 //人数
#define SUB 3 //科目
int main()
{
int stu;
int i;
int j;
float sum = 0.0;
char num[N][10] ;
float s_sum[SUB] = {0};
float score[N][SUB] = {{0}};
printf("输入学生个数:");
scanf("%d",&stu);
printf("输入学生学号:\n");
for(i = 0;i < stu;i++)
{
scanf("%s",&num[i]);
}
printf("输入分数:\n");
for(i = 0; i < stu; i++)
{
printf("学号%s学生的各科分数:\n",num[i]);
for(j = 0; j<SUB; j++) //存各科分数
{
scanf("%f",&score[i][j]);
}
}
for(i = 0; i < stu; i++)
{
for(j = 0; j < SUB; j++)
{
sum +=score[i][j];
}
printf("学号%s学生的平均分:%f\n",num[i],sum/(float)SUB);
sum = 0;
}
for(j = 0 ;j < SUB; j++)
{
for(i = 0;i < stu; i++)
{
s_sum[j]+=score[i][j];
}
printf("第%d学科的学生平均分:%f\n",j,s_sum[j]/stu);
}
return 0;
}
有问题hi我,我加你好友了,共同切磋啊。