当前位置: 代码迷 >> C语言 >> 请高手指点!我这个程序有什么问题?
  详细解决方案

请高手指点!我这个程序有什么问题?

热度:392   发布时间:2008-04-20 09:08:51.0
请高手指点!我这个程序有什么问题?
#include <stdio.h>
float s[10][5];
float n[10],k[5];
int a,b,i,j;
void main()
{ float h;
  void a_s();
  void a_c();
  float g();
  float v();
  a_s();
  a_c();
  for(i=0;i<10;i++)
    for(j=0;j<5;j++)
    scanf("%f",&s[i][j]);
  for(i=0;i<10;i++)
  printf("%8.2f\n",n[i]);
  for(j=0;j<5;j++)
  printf("%8.2f\n",k[j]);
  h=g();
  printf("%8.2f %2d %2d\n",h,a,b);
  printf("%8.2f\n",v());
}
void a_s()
{ float p=0.0;
  for(i=0;i<10;i++)
   for(j=0;j<5;j++)
   {p=p+s[i][j];
    n[i]=p/5.0;
   }
}
void a_c()
{ float q=0.0;
  for(j=0;j<5;j++)
   for(i=0;i<10;i++)
   {q=q+s[i][j];
    k[j]=q/10.0;
   }
}
float g()
{ float m=s[0][0];
  for(i=0;i<10;i++)
   for(j=0;j<5;j++)
    if(s[i][j]>m)
     {m=s[i][j];
      a=i+1;
      b=j+1;
     }  
  return(m);
}
float f()
{ float x1,x2;   
  x1=0.0;x2=0.0;
  for(i=0;i<10;i++)
  {x1=x1+n[i]*n[i];
   x2=x2+n[i];
  }
  return(x1/10.0-(x2/10.0)*(x2/10.0));
}
搜索更多相关的解决方案: void  include  

----------------解决方案--------------------------------------------------------
没有说明下你的程序要做什么
另外函数v()没有实现
----------------解决方案--------------------------------------------------------
shi 所有的原形说明都没有
----------------解决方案--------------------------------------------------------
void a_s();
void a_c();
float g();
float v();/*这个v()你没有定义呀*/
----------------解决方案--------------------------------------------------------
[bo]以下是引用 [un]yd4433[/un] 在 2008-4-20 10:00 的发言:[/bo]

shi 所有的原形说明都没有

原型是有的,在main函数里,不过还是建议楼主函数声明放在main函数之前比较好
更准确的应该是在文件头部引用头文件之后
----------------解决方案--------------------------------------------------------
是求学生的各科成绩平均数和方差的
----------------解决方案--------------------------------------------------------
那你赶快写这个v()函数的代码啊
----------------解决方案--------------------------------------------------------
回复 4# 的帖子
该怎样定义呢?
----------------解决方案--------------------------------------------------------
float v()
{ float x1,x2;   
  x1=0.0;x2=0.0;
  for(i=0;i<10;i++)
  {x1=x1+n[i]*n[i];
   x2=x2+n[i];
  }
  return(x1/10.0-(x2/10.0)*(x2/10.0));
}
----------------解决方案--------------------------------------------------------
我把你的代码规范化了一下,可以编译。只是这个程序运行后怎么使用啊?总是要输入?
#include <stdio.h>
float s[10][5];
float n[10],k[5];
int a,b,i,j;

float h;
void a_s();
void a_c();
float g();
float v();

void main()
{
    a_s();
    a_c();
    for(i=0;i<10;i++)
        for(j=0;j<5;j++)
            scanf("%f",&s[i][j]);
        for(i=0;i<10;i++)
            printf("%8.2f\n",n[i]);
        for(j=0;j<5;j++)
            printf("%8.2f\n",k[j]);
        h=g();
        printf("%8.2f %2d %2d\n",h,a,b);
        printf("%8.2f\n",v());
}

void a_s()
{
    float p=0.0;
    for(i=0;i<10;i++)
        for(j=0;j<5;j++)
        {
            p=p+s[i][j];
            n[i]=p/5.0;
        }
}

void a_c()
{
    float q=0.0;
    for(j=0;j<5;j++)
        for(i=0;i<10;i++)
        {
            q=q+s[i][j];
            k[j]=q/10.0;
        }
}

float g()
{
    float m=s[0][0];
    for(i=0;i<10;i++)
        for(j=0;j<5;j++)
            if(s[i][j]>m)
            {
                m=s[i][j];
                a=i+1;
                b=j+1;
            }  
            return(m);
}

float f()
{
    float x1,x2;   
    x1=0.0;x2=0.0;
    for(i=0;i<10;i++)
    {
        x1=x1+n[i]*n[i];
        x2=x2+n[i];
    }
    return(x1/10.0-(x2/10.0)*(x2/10.0));
}

float v()
{
    float x1,x2;   
    x1=0.0;x2=0.0;
    for(i=0;i<10;i++)
    {
        x1=x1+n[i]*n[i];
        x2=x2+n[i];
    }
    return(x1/10.0-(x2/10.0)*(x2/10.0));
}
----------------解决方案--------------------------------------------------------
  相关解决方案