虚凝 发表于 2004-5-29 20:10:00

帮帮我啊,好郁闷哦

懂c++的帮帮我啊
为什么给浮点性设置了两个有效位数后,输入一些数据进行运算后会有科学计数法的呢
像2e++8这样的,是不是我的程序哪里写错了
我用的是setprecision函数

hzzh 发表于 2004-5-30 16:44:00

浮点输出,setprecision(n)表有效位数。

定点输出(setiosflags(ios::fixed)),setprecision(n)表小数点后数字位数。

指数形式输出中(setiosflags(ios::scientific)),setprecision(n)表小数位数。

虚凝 发表于 2004-5-31 20:28:00

不明白也,能不能详细说一说啊
这是我的代码:
错在哪里????
void main()
{n=4;
cout<<"请输入基向量 bb["<<n-1<<"]["<<n-1<<"]:\n";
for(i=1;i<=n-1;i++)
{for(j=1;j<=n-1;j++)
cin>>bb;
cout<<'\n';}
void computertb()      //求逆矩阵tb[]
{   for(i=1;i<=n-1;i++)
{for(j=n;j<=2*n-2;j++)   
{if (i==j-n+1)   bb=1;
elsebb=0;
}}
for(i=1;i<=n-1;i++)
{if(bb!=1)
{for (j=i+1;j<=2*n-2;j++) bb=bb/bb;
bb=1;}
for(k=i+1;k<n;k++)
{if(bb!=0)
{for(j=i+1;j<=2*n-2;j++) bb=bb-bb*bb;
bb=0;
}}}
for(i=n-1;i>=1;i--)
{for(k=i-1;k>=1;k--)
if(bb!=0)
{for(j=n;j<=2*n-2;j++) bb=bb-bb*bb;
bb=0;
}
   }
for(i=1;i<n;i++)
for(j=n;j<=2*n-2;j++)tb=bb;
for(i=1;i<=n-1;i++)
{for(j=1;j<= n-1;j++)   
cout<<setfill(' ')<<setw(10)<<setprecision(2)<<tb;
cout<<'\n';
}}
代码如上:
输入:
1    2   -1
2   -2   1
1    -1   2
运行结果:
1   0      0   0.33   1      -1.3
0    1       0   0.33    -1       1.7   
0   0      1    6e-008-1      2

      

一心动就当机 发表于 2004-8-29 01:44:00

<P>倒数第二行setprecision(2)</P><P>把2改大一点试试?</P>

水流花落 发表于 2004-8-29 13:07:00

不懂...............?????????
页: [1]
查看完整版本: 帮帮我啊,好郁闷哦