如何在c ++中打印基于用户输入的字符数?

时间:2015-11-09 03:51:31

标签: c++

我正在创建一个项目,用户输入一个数字并使用*打印该数量?

这是我的代码:

#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;
}

1 个答案:

答案 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中有一个字符串。这不是一个合适的语法。您需要拆分输出和输入,并分别使用coutcin

此代码应运行良好:

#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;
}