c++ - 如何基于 N 输入在 C++ 中添加列
问题描述
// Example program
#include <iostream>
#include <string>
using namespace std;
int main() {
int num1;
std::string u = "";
cout << "Enter number ";
cin >> num1;
for (int x = 1; x <= num1; x++) {
for (int y = 1; y <= num1; y++) {
u = u + ((x-1) * num1 + y + "");
}
cout << u << "";
}
}
如何使用for
循环添加列?
我的示例问题如果用户输入 3 输出变为
1 2 3
4 5 6
7 8 9
我的错误是,如果我在 cpp.sh 中运行此代码,则错误为 Enter number 3 答案是这样的。
;@;@;@;@;@;@;@;@;@@
我应该怎么办?
解决方案
您正在尝试将数字附加到std::string
. Aint
不能附加到std::string
. 您需要std::string
在连接之前将数字转换为。我相信std::to_string()
会<string>
有所帮助。
#include <iostream>
#include <string>
using namespace std;
int main()
{
int num1;
std::string u = "";
cout << "Enter number ";
cin >> num1;
for (int x = 1; x <= num1; x++) {
u.clear(); // clear string
for (int y = 1; y <= num1; y++) {
u = u + std::to_string((x - 1) * num1 + y) + " "; // append string-converted number
}
cout << u << endl; // print new line
}
return 0;
}
推荐阅读
- node.js - 在猫鼬中等待与执行
- c - 是否可以使用变量声明数组?
- python - 我可以使用已经创建的对象来调试代码吗 - Pycharm
- typescript - 使用 Firebase 订购
- react-native - 使用 React Native 点击并按住透明上下文菜单?
- r - 如何在 R 中对 textstem 的词典进行大量补充?
- javascript - 无法让 innerHTML 正常工作
- android - 将片段添加到 Backstack 失败
- python - 了解 CNN 中的 batch_size
- python-3.x - 如何在vscode中找到python方法的源代码