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

How do I print the number of characters based user input in c++?

本文关键字:用户 输入 字符 于用户 c++ 打印      更新时间:2023-10-16

我正在制作一个项目,用户在其中输入一个数字,并使用*打印该金额?

这是我的代码:

#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:环路条件

for (int i = 0; i <= x; i++)

它将生成一个额外的*。想象一下,0和5之间有多少个整数(包括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;
}