请高手帮忙,一道C语言编程题、、

输入10个学生5门功课的成绩,分别用函数实现一下功能:①计算每个学生的平均分;②计算每门课平均分;③找出最高的分数以及所对应的学生和课程;④求出平均分方差:σ=1/n∑xi2-(∑xi/n)2,xi为某一学生的平均分。
菜鸟一只,恳请高手帮忙,可以用数组,但不要用指针,我们还没教。谢谢各位大大了!

#include <stdio.h>

float a[10][5];//各人分数 

float b[10],d[5];//各人、各门平均分 

int c,e;

int main()

{ int i,j;

  float h,k;

  float l(void);

  float g();//定义找最高分数 

  void m(void);//定义求各人平均分 

  void n(void);//定义求各门平均分 

 

 for(i=0;i<10;i++) //输入各人分数 

 {

  printf("请输入第%d位同学的成绩\n",i+1);

  for(j=0;j<5;j++)

   scanf("%f",&a[i][j]);

 }

                         

 m();//求各人平均分 

 n();//求各门平均分 

   

  printf("各人平均成绩:");//输出各人各科平均成绩

  for(i=0;i<10;i++)

   {

    printf("%.2f ",b[i]);

   }

  printf("\n");

  printf("各科平均分:");

  for (j=0;j<5;j++)

    printf("%.2f ",d[j]);

  printf("\n");

 

  h=g();

  printf("最高分:%.2f   第%2d位同学   第%2d门课程\n",h,e,c);

 

  k=l();

  printf("方差:%.2f\n",k);

 

     system("pause");

     return 0;

}

void m(void)//求各人平均分 

 {int i,j;

  float s=0;

  for (i=0;i<10;i++)

   {s=0;

   for (j=0;j<5;j++)

      s+=a[i][j];

    b[i]=s/5.0;

   }

 }

void n(void)//求各门平均分 

 {int i,j;

  float s;

  for (j=0;j<5;j++)

    {s=0;

     for (i=0;i<10;i++)

       s+=a[i][j];

     d[j]=s/10;

    }

 }

float g()//找最高分数 

 {float high;

  int i,j;

  high=a[0][0];

  for (i=0;i<10;i++)

    {for (j=0;j<5;j++)

      {if (a[i][j]>high)

      {high=a[i][j];

      e=i+1;

      c=j+1;}}}

  return(high);

 }

 

float l(void)//求平均分方差 

 {int i;

  float s=0.0,xi=0.0;//平均分的和与平均值 

  float q=0.0,w=0.0;

  for (i=0;i<10;i++)

  {s=s+b[i];}

  xi=s/10;

  for (i=0;i<10;i++)

    {q=q+(b[i]-xi)*(b[i]-xi);}

  w=q/10;

  return(w);

 }

方差方面还有点问题,但具有了大致效果

追问

亲,下次抄的时候麻烦看清楚点再抄行么,这是我写的~用我在另一页提的问题来回答我,这样好玩么~~~

追答

你开了50个悬赏骗别人回答,然后再把悬赏给你找的托,这样好玩么~~~

追问

清者自清,浊者自浊。上面那位是不是我的托,大家可以进行判断。但你是不是抄我的答案,下面的连接也可以说明一切。人渣~
http://zhidao.baidu.com/question/506273398.html?quesup2&sort=6

追答

你妈什么玩意?自己是人渣还好意思说别人,不行你就是不行,问问题就要有问问题的样子,没脸皮的东西

追问

你爸什么玩意?自己是人渣还好意思说别人,不行你就是不行,答问题就要有答问题的样子,没脸皮的东西

温馨提示:内容为网友见解,仅供参考
第1个回答  2012-12-12
自己用二维数组写,不难本回答被提问者采纳
第2个回答  2012-12-13
这个挺简单的吧。

C语言高手,帮帮忙
(1) a=a+b,b=a-b,a=b 先把a+b赋值给a,即 a=a+b 那么要交换a,b的值,所以 b=a-b(这里的a-b,其实就是原来的a的值),然后a 自然就等于b了 所以就是 a=b (7) k,5 因为程序中的语句是顺序语句所以先执行st=st+i; 则st=75 因为要以字符型显示,所以A的ASCII码是65,那...

请高手用C语言帮忙做个编程的题目,谢谢了!
include <stdio.h> int IsDevided(int number,int dev){ if(number %dev == 0){ return 1;} return 0;} void EasyDone(int a){ int chose;int i,j;printf("Input your chose\\n1>能被3整除的"<Enter 1>","\\n2>能被5整除的<Enter 2>","\\n3>能被3或5整除的<Enter 3>\\n");s...

c语言编程题,请高手帮忙做一下,拜谢,急急急急……
1.include <stdio.h> double funcPi(int);int main(void){ int arg;printf("Input the argument: ");\/\/ \/\/ 无异常输入 \/\/ while (!scanf("%d", &arg)){ printf("Check your input and retry: ");while (getchar()!='\\n'){ continue;} } while (getchar()!='\\n'){ continue...

求高手帮忙做一些C语言试题
C、log10()E、pow()F、isalpha()第三题、判断题(每题1分,5道题共5分)1、表达式18\/4*sqrt(4.0)\/8值的数据类型为double。正确 2、逻辑关系“a≥10或a≤0”正确表示的C语言表达式是:a>=10 or a<=0 。错误 3、a=b=58是合法的C语言赋值表达式。正确 4、C语言表达式值的类型可...

电脑C语言编程,求高手帮忙
1.include<stdio.h> void main(){ int n[8],maxn=0,minn=0,detn;float score[8],max,min,aver=0.0,det,detm;printf("输入裁判号及分数:\\n");scanf("%d%f",&n[0],&score[0]);max=min=score[0];for(int i=1;i<8;i++){ scanf("%d%f",&n[i],&score[i]);if(max<...

一道c语言问题,请各位高手们帮帮忙,谢谢
char p[][20]={“get”,”put”,”out”};p是一个有3个元素的数组,数组中的每个元素都是一个char[20]类型的数组。也就是说,p是一个二维数组。strlen(p[0])+strlen(p[1])+ strlen(p[2])即计算p中的三个字符串的长度总和,为3+3+3=9。

C语言的题目高手帮忙解释下 printf ("%d\\n",p);printf ("%d\\n",p+...
输出的都是指针的值。p+9,由于p是int型指针,int占两个字节,p+9的值比p的值多2*9=18 正解应是 A 212 由于题目已经说了int为2字节,你调试的机器上int是4字节,所以会差36

请高手 帮忙做一道c语言题 编程,把百分制成绩转换成5级记分制,要求用sw...
int main(){ int score,level;char band;printf("Input Score:");scanf("%d",&score);level=score\/10;switch(level){ case 10:case 9: band='A'; break;case 8: band='B'; break;case 7: band='C'; break;case 6: band='D'; break;default: band='E'; break;} printf("%d的...

高手请进!你好,请把我写一个C语言的编程题,本人不胜感激!
void WriteDat(int a[],int b[]);\/\/为了调试方便,将学生人数取为5,将其中的5改为100就合题意了.思路较简单,未加标注 void main(){ int aa[100],bb[100];ReadDat(aa,bb);jsSort(aa,bb);WriteDat(aa,bb);} void ReadDat(int a[],int b[]){ int i;for(i=0;i<5;i++){...

一道C语言编程问题,高手们来看看帮忙解答下
for (c = b-1;c > 0;c--)\/\/以C为循环变量,在1到B之间。{ \/\/判断公式左右两侧是不是相等,相等侧符合题目要求 if (c*c*(a*a+b*b) == a*a*b*b){ sum = a+b+c; \/\/判定成立,求和 printf("SUM = %d\\nA = %d\\nB = %d\\nC = %d\\n",sum,a,b,c);return 0;} ...

相似回答