注册 登录
编程论坛 C++教室

关于cout格式化输入输出的问题

happy两棵树 发布于 2015-05-22 16:33, 629 次点击
int a = 0; 怎么用cout 把它输出成 0000
a = 1  输出  0001
a = 20 输出  0020

a =123 输出 0 123


这样怎么实现?
2 回复
#2
wmf20142015-05-22 17:34
#include <iomanip.h>
void main()
{
    int a=1;
    cout<<setfill('0');
    cout<<setw(4)<<a<<endl;
}<SETV
#3
林月儿2015-05-22 22:59
#include<iostream>
using namespace std;
void f(int a,int i){
    int b=a%10;
    a/=10;
    if(a>0)f(a,i-1);
    else if(i)while(i>1){cout<<"0";--i;}
    cout<<b;
}
int main(){
    int a = 0; //怎么用cout 把它输出成 0000
    f(a,4);
    cout<<endl;
    a = 1;  //输出  0001
    f(a,4);
    cout<<endl;
    a = 20; //输出  0020
    f(a,4);
    cout<<endl;
    a =123; //输出 0 123
1