在我的程序中,将有两行输出:第一行中的数字是小于1000的整数;第二行中的数字是0到10之间的浮点数。我想要的输出格式如下:
这是我尝试的方法(所有输出都是最后四行): case 1 - 5
$timeout
似乎只能工作一次才能将43更改为043,然后它将不再起作用<<setw(3)<<setfill('0')
。如果我单独打印noshowpoint
,它始终打印*(p + 2)
有或没有格式。但是,如果我在118
循环中打印*(p + 2)
,则除第一个输出外,输出仍为for
。但是,如果我直接打印数字1.2e+002
,则输出正确。那么,我的代码的哪一部分是错的?以正确的格式输出答案的正确方法是什么?
答案 0 :(得分:2)
实际上,并非所有IO格式化操作符都是持久性。其中一些,如std::setw
只对下一个操作生效,然后它们就会过期。什么都没有&#34;错误&#34;用你的代码;你只需要再次使用操纵器。请参阅您最喜欢的C ++标准库文档,以检查您使用的每个操纵器的持久性。
答案 1 :(得分:1)
嗯,对于第三个,你设置X <- seq(from=1, 10, by=1)
Y <- seq(from=1, 20, by=2)
df1 <- data.frame(X, Y)
df1
save(object=df1, file = "mdf.RData")
load(file = "mdf.RData")
mdf
Error: object 'mdf' not found
load(file = "mdf.RData", .GlobalEnv)
mdf
Error: object 'mdf' not found
但从未使用showpoint
取消设置,因此下一行问题。
noshowpoint
给出所需的输出。
请注意为流设置#include <iostream>
#include <iomanip>
using namespace std;
int main() {
double x[4]= {43.0,118.0,9.0,5.0};
double y[4] = {9.5, 9.0, 8.5, 8.0};
// your code goes here
for (int i=0; i< 4; i++)
{
cout<<noshowpoint<<setprecision(3)<<setw(3)<<setfill('0')<<(x[i]) <<" ";
cout<<showpoint<<setprecision(2)<<y[i] << endl;
}
return 0;
}
和showpoint
操纵器,而不是单输出。