乐高人物名字大全:C++,这个程序该如何编???

来源:百度文库 编辑:杭州交通信息网 时间:2024/04/29 03:02:38
今天试验课,验证‘转动惯量的平行轴定理’,数据较多。我试着编了一程序:
/*jb=(k*T*T)/(4*p*p);
jc=j+j0+2*m*l*l;
p=3.14;*/

#include<iostream>
using namespace std;

void main(){
double m=0.2397,j=0.004186,k=0.0298,j0=0.0000812,p=3.14;
double t[4],l[4],jc[4],jb[4],b[4];
for(int a=1;a<5;a++)
cin>>t[a]>>l[a];

for(a=0;a<5;a++)
{
jc[a]=(k*t[a]*t[a])/(4*p*p);
jb[a]=j+j0+2*m*l[a]*l[a];
b[a]=(jb[a]-jc[a])/jc[a];
}

for(a=0;a<5;a++)
{
cout<<"jc["<<a<<"]="<<jc[a]<<'\t'<<"jb["<<a<<"]="<<jb[a]<<'\t'<<"b["<<a<<"]="<<b[a]<<'\n';
}
}
可运行老出错,请帮忙改一下,谢谢!!!

我运行没有问题
输出:
5
6
7
8
4
6
7
8
jc[0]=30.6859 jb[0]=4117.91 b[0]=4.22086e+125
jc[1]=0.00380102 jb[1]=17.2627 b[1]=4540.59
jc[2]=0.00745 jb[2]=30.6859 b[2]=4117.91
jc[3]=0.00243265 jb[3]=17.2627 b[3]=7095.23
jc[4]=0.00745 jb[4]=30.6859 b[4]=4117.91
Press any key to continue
这里是不是有问题?
double t[4],l[4],jc[4],jb[4],b[4];
for(int a=1;a<5;a++)
cin>>t[a]>>l[a];
应该是for(int a=0;a<4;a++)
还有这里
for(a=0;a<5;a++)
{
jc[a]=(k*t[a]*t[a])/(4*p*p);
jb[a]=j+j0+2*m*l[a]*l[a];
b[a]=(jb[a]-jc[a])/jc[a];
}
应该是for(a=0;a<4;a++)
还有最后
for(a=0;a<5;a++)
{
cout<<"jc["<<a<<"]="<<jc[a]<<'\t'<<"jb["<<a<<"]="<<jb[a]<<'\t'<<"b["<<a<<"]="<<b[a]<<'\n';
}
应该是for(a=0;a<4;a++)
注意C中数组下标是以0开始的
不是1