計算二組學生總成績
㈠ 定義一個二維數組儲存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我,我加你好友了,共同切磋啊。