我正在创建一个项目,用户输入一个数字并使用*
打印该数量?
这是我的代码:
#include <iostream>
using namespace std;
int main()
{
int x;
cin >> "Enter a number">>x;
for (int i = 0; i <= x; i++) {
cout <<"*"<< i;
}
cout << endl;
}
答案 0 :(得分:2)
问题1:循环条件
for (int i = 0; i <= x; i++)
它会额外增加*
。想象一下,0到5之间包含多少个整数?有6 - 0,1,2,3,4,5。
您需要将循环更改为:
for (int i = 0; i < x; i++) { // C++ good practice
或
for (int i = 1; i <= x; i++) { // not C++ practice
第一个是C ++的良好实践,几乎在所有情况下都应该使用。
问题2:输出错误
您有以下输出:
cout << "*" << i;
会产生类似
的东西*0*1*2*3*4*5
根据您的任务,您只想输出x
星号
那么,为什么要输出i
?
问题3:输入错误
您的cin
中有一个字符串。这不是一个合适的语法。您需要拆分输出和输入,并分别使用cout
和cin
。
此代码应运行良好:
#include <iostream>
using namespace std;
int main()
{
int x;
cout << "Enter a number";
cin >> x;
for (int i = 0; i < x; i++) {
cout << "*";
}
cout << endl;
}