黑魂3快速到沙力万:急急急!!那位大侠帮我看看这程序错在那里?

来源:百度文库 编辑:高校问答 时间:2024/05/04 12:05:16
我编了个程序来处理实验数据,但是我这菜鸟错漏百出,请高手指点.
在下感激不尽.
我的程序如下:
#include<stdio.h>
#include<math.h>
#define N 6
#define R 0.25
#define M 200
void main()
{
float b1[N],b2[N],aver1,aver2,jl,js,m,r1,r2,w;
float aver(float a[]);//求角加速度的平均值
float JS(float a,float b);//求转动惯量的实验值
float JL(float a,float b,float c);//求转动惯量的理论值
for(int i=0;i<2;i++)//读取角加速度
for(int j=0;j<N;j++)
if(i==0)
scanf("%f",&b1[j]);
else
scanf("%f",&b2[j]);
printf("请输入圆盘的质量,外径,内径\n");
scanf("%f%f%f",&m,&r1,&r2);
aver1=aver(b1);//求角加速度的平均值
aver2=aver(b2);//求角加速度的平均值
printf("1角加速度的平均值:%f\n,2角加速度的平均值:%f\n",aver1,aver2);
jl=JS(aver1,aver2,);//求转动惯量的实验值
js=JL(my,r1,r2);//求准动惯量的理论值
w=(jl-js)*100/js;//误差的求解公式
printf("误差:%f%%\n",w);
}
float aver(float a[])//求平均值
{
float sum=0,ave;
for(int i=0;i<N;i++)
sum=+a[i];
ave=sum/N;
return(ave);
}
float JS(float a,float b)//求转动惯量的实验值
{
float js;
js=M*R*10/(a+b)-b*M*R/(a+b);//实验转动惯量的公式
return(js);
}
float JL(float a,float b,float c)//求转动惯量的理论值
{
float jl;
jl=a*(b*b-c*c)/2;//理论转动惯量的公式
return(j);
}

//23行的jl=JS(aver1,aver2,);//求转动惯量的实验值 aver2后多了个 ","
//24行my改为m
//46行的j改为jl

#include<stdio.h>
#include<math.h>
#define N 6
#define R 0.25
#define M 200
void main()
{
float b1[N],b2[N],aver1,aver2,jl,js,m,r1,r2,w;
float aver(float a[]);//求角加速度的平均值
float JS(float a,float b);//求转动惯量的实验值
float JL(float a,float b,float c);//求转动惯量的理论值
for(int i=0;i<2;i++)//读取角加速度
for(int j=0;j<N;j++)
if(i==0)
scanf("%f",&b1[j]);
else
scanf("%f",&b2[j]);
printf("请输入圆盘的质量,外径,内径\n");
scanf("%f%f%f",&m,&r1,&r2);
aver1=aver(b1);//求角加速度的平均值
aver2=aver(b2);//求角加速度的平均值
printf("1角加速度的平均值:%f\n,2角加速度的平均值:%f\n",aver1,aver2);
jl=JS(aver1,aver2);//求转动惯量的实验值
js=JL(m,r1,r2);//求准动惯量的理论值
w=(jl-js)*100/js;//误差的求解公式
printf("误差:%f%%\n",w);
}
float aver(float a[])//求平均值
{
float sum=0,ave;
for(int i=0;i<N;i++)
sum=+a[i];
ave=sum/N;
return(ave);
}
float JS(float a,float b)//求转动惯量的实验值
{
float js;
js=M*R*10/(a+b)-b*M*R/(a+b);//实验转动惯量的公式
return(js);
}
float JL(float a,float b,float c)//求转动惯量的理论值
{
float jl;
jl=a*(b*b-c*c)/2;//理论转动惯量的公式
return(jl);
}

#include<stdio.h>
#include<math.h>
#define N 6
#define R 0.25
#define M 200
void main()
{
int i,j;
float b1[N],b2[N],aver1,aver2,jl,js,m,r1,r2,w;
float aver(float a[]);
float JS(float a,float b);
float JL(float a,float b,float c);
for(i=0;i<2;i++)
for(j=0;j<N;j++)
if(i==0)
scanf("%f",&b1[j]);
else
scanf("%f",&b2[j]);
printf("请输入圆盘的质量,外径,内径\n");
scanf("%f%f%f",&m,&r1,&r2);
aver1=aver(b1);
aver2=aver(b2);
printf("1角加速度的平均值:%f\n,2角加速度的平均值:%f\n",aver1,aver2);
jl=JS(aver1,aver2);
js=JL(m,r1,r2);
w=(jl-js)*100/js;
printf("误差:%f%%\n",w);
}
float aver(float a[])
{
int i;
float sum=0,ave;
for(i=0;i<N;i++)
sum=+a[i];
ave=sum/N;
return(ave);
}
float JS(float a,float b)
{
float js;
js=M*R*10/(a+b)-b*M*R/(a+b);
return(js);
}
float JL(float a,float b,float c)
{
float jl;
jl=a*(b*b-c*c)/2;
return(jl);
}

1。改的地方比较多,直接把修改后的代码写上了。
2。使用的编译器不一样代码可能有些不同,我用的是Turbo C++3.0
3。这个代码只能编译通过,由于跟专业知识相关,不知道能不能出正确的运行结果:)

#include<stdio.h>
#include<math.h>
#define N 6
#define R 0.25
#define M 200

float aver(float a[]);
float JS(float a,float b);
float JL(float a,float b,float c);

main()
{
float b1[N],b2[N],aver1,aver2,jl,js,m,r1,r2,w;
int i,j;
printf("input 12 values:");
for(i=0;i<2;i++)
for(j=0;j<N;j++)
if(i==0)
scanf("%f",&b1[j]);
else
scanf("%f",&b2[j]);
printf("input m,r1,r2:");
scanf("%f%f%f",&m,&r1,&r2);
aver1=aver(b1);
aver2=aver(b2);
printf("aver1: %f, aver2: $f\n",aver1,aver2);
jl=JS(aver1,aver2);
js=JL(m,r1,r2);
w=(jl-js)*100/js;
printf("wu cha: %f\n",w);
return 0;
}

float aver(float a[])
{
float sum=0,ave;
int i;
for(i=0;i<N;i++)
sum += a[i];
ave=sum/N;
return ave;
}
float JS(float a,float b)
{
float js;
js=M*R*10/(a+b)-b*M*R/(a+b);
return js;
}
float JL(float a,float b,float c)
{
float jl;
jl=a*(b*b-c*c)/2;
return jl;
}