首页 > 解决方案 > 我怎样才能使这个程序显示键入的数字与数字的值一样多次?

问题描述

我必须编写这个程序,直到现在这就是我所拥有的。程序需要从用户那里读取一个数字,然后显示从 1 到 n(用户输入的数字)的数字,其次数与输入的数字的值一样多。例如:如果用户键入 4,则输出应为 1 2 2 3 3 3 4 4 4 4。

请问有人可以帮忙吗?

int main (){
int nr, i;
cout<<"Type a number: ";
cin>>nr;
for(i=1; i<=nr; i++) {
cout<<i;
if(nr>=i) {
cout<<i;
}
}
return 0;
}

标签: c++

解决方案


你需要两个循环。内部循环从 0 到 i 并写入i. 外面的已经是正确的了。

#include <iostream>
int main()
{
    unsigned int num;

    std::cout << "Type a number: ";
    std::cin >> num;

    for (unsigned int loop = 1; loop <= num; loop++)
    {
        for (unsigned int loop2 = 0; loop2 < loop; loop2++)
        {
            std::cout << loop << ' ';
        }
    }

    std::cout << '\n';
}

推荐阅读