我正尝试理解C语言代码。在这里,我正在尝试使用C++中的代码来复制这个代码。更具体地说,我正在尝试使用iostream和iomanip代替printf和cstdio将此代码从printf转换为cout。
//C CODE
#include <cstdio>
#include <cstdlib>
using namespace std;
int main() {
string header_text = "Basic IO";
srand(0);
printf("%-10s::\n", header_text.c_str());
for (int i=0; i<4; i++) {
int number1 = rand()%1000;
float number2 = (float)number1/91.0;
printf("<%3d, %7.4f>\n", number1, number2);
}
printf("\n");
}
现在我想将这个转换为C++。
以下是我的尝试:
//C++ code
#include <iostream>
#include <iomanip>
#include <cstdlib>
using namespace std;
int main() {
string header_text = "Basic IO";
srand(0);
cout << setw(10) << left << header_text << "::\n";
for (int i=0; i <4; i++) {
int number1 = rand()%1000;
float number2 = (float)number1/91.0;
cout << "<" <<number1 <<setw(3) << "," <<setw(7) << setprecision(5) << number2 << ">\n";
}
}
看起来除了C++代码中的10.0549变成了10.055之外,大部分都是正确的。
您有什么想法,我的C++代码出了什么问题吗?尽管如此,可能还有其他几个错误,因为我还很新,对理解C语言还不太熟悉。