格式化循环中的数字

发布于 2024-09-02 21:16:45 字数 211 浏览 6 评论 0原文

我想列出 0000-9999 之间的所有数字,但我在保留零位时遇到困难。

我尝试过:

for(int i = 0; i <= 9999; ++i)
{
cout << i << "\n";
}

但我得到:1,2,3,4..ect 我怎样才能使它成为0001,0002,0003....0010等

I want to list all numbers from 0000-9999 however I am having trouble holding the zero places.

I tried:

for(int i = 0; i <= 9999; ++i)
{
cout << i << "\n";
}

but I get: 1,2,3,4..ect
How can I make it 0001,0002,0003....0010, etc

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

德意的啸 2024-09-09 21:16:45

请参阅 setfill 以指定填充字符,以及 setw 用于指定最小宽度。

您的案例如下所示:

for(int i = 0; i <= 9999; ++i)
{
    cout << setfill('0') << setw(4) << i << "\n";
}

See setfill for specifying the fill character, and setw for specifying the minimum width.

Your case would look like:

for(int i = 0; i <= 9999; ++i)
{
    cout << setfill('0') << setw(4) << i << "\n";
}
巾帼英雄 2024-09-09 21:16:45

您只需要设置一些标志:

#include <iostream>
#include <iomanip>

using namespace std;
int main()
{
    cout << setfill('0');
    for(int i = 999; i >= 0; --i)
    {
        cout << setw(4) << i << "\n";
    }
    return 0;
}

You just need to set some flags:

#include <iostream>
#include <iomanip>

using namespace std;
int main()
{
    cout << setfill('0');
    for(int i = 999; i >= 0; --i)
    {
        cout << setw(4) << i << "\n";
    }
    return 0;
}
遗心遗梦遗幸福 2024-09-09 21:16:45

使用 ios_base::width() 和 ios::fill() :

cout.width(5);
cout.fill('0');
cout << i << endl;

或者,使用 IO 操纵器:

#include<iomanip>

// ...
cout << setw(5) << setfill('0') << i << endl;

Use ios_base::width() and ios::fill():

cout.width(5);
cout.fill('0');
cout << i << endl;

Alternatively, use the IO manipulators:

#include<iomanip>

// ...
cout << setw(5) << setfill('0') << i << endl;
醉城メ夜风 2024-09-09 21:16:45

虽然不是必需的,但如果您想知道如何使用 C 语言执行此操作,这里有一个示例:

for (int i = 0; i <= 9999; i++)
    printf("%04d\n", i);

Here, '0' in "%04d" 的工作方式类似于 setfill('0') 和 '4 ' 的工作方式类似于 setw(4)

Though not required, but if you want to know how to do this with C, here is an example:

for (int i = 0; i <= 9999; i++)
    printf("%04d\n", i);

Here, '0' in "%04d" works like setfill('0') and '4' works like setw(4).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文