请高手指点!我这个程序有什么问题?
#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));
}
----------------解决方案--------------------------------------------------------
没有说明下你的程序要做什么
另外函数v()没有实现
----------------解决方案--------------------------------------------------------
shi 所有的原形说明都没有
----------------解决方案--------------------------------------------------------
void a_s();
void a_c();
float g();
float v();/*这个v()你没有定义呀*/
----------------解决方案--------------------------------------------------------
[bo]以下是引用 [un]yd4433[/un] 在 2008-4-20 10:00 的发言:[/bo]
shi 所有的原形说明都没有
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));
}
----------------解决方案--------------------------------------------------------