For循环在cpp中仅执行一次

For Loop Executing only once in cpp

本文关键字:一次 执行 循环 cpp For      更新时间:2023-10-16

嘿,我试图运行这段代码,但for循环只执行一次。移除线路cout<解决了这个问题,但我需要ans精确到小数点后15位。这是代码

int n,i;
cin>>n;
double a[n];
for(i=0;i<n;i++){
cin>>a[i];
a[i]=(a[i]/100);
cout<<fixed<<setprecision(15)<<a[i];
}
for(i=0;i<n;i++) {
cout<<a[i];
}

第一件事

可变长度数组(VLA(的使用不是标准C++。某些编译器支持它作为扩展。如果您被允许使用std::vector,,请使用

std::vector<double> a(n);

如果不允许使用std::vector,请使用

double* a = new double[n];

并确保使用

delete [] a;

在葬礼结束前。

帮助您诊断问题的建议

在输入数据和消息之前添加适当的提示,以指示所读内容。

for(i=0;i<n;i++)
{
cout << "Enter number for a[" << i << "]: ";
cin>>a[i];
a[i]=(a[i]/100);
// Make sure to add endl at the very end.
cout<< "Value of a[" << i << "]: " << fixed << setprecision(15) << a[i] << endl;
}