输出的时候,为什么我写的cout方式就不能在poj中ac呢???

poj的1002题

 #include<iostream>
#include<string>
#include<string.h>
#include<map>
#include<iomanip>

using namespace std;

typedef char S[111];

map<int,int>M;

int main(){
    int n,l,i,t;
    S num;
    while(cin>>n){
        M.clear();
        while(n--){
            cin>>num;
            l=strlen(num);
            t=0;
            for(i=0;i<l;++i){
                switch(num[i]){
                    case'-':continue;
                    case'A':case'B':case'C':t=t*10+2;break;
                    case'D':case'E':case'F':t=t*10+3;break;
                    case'G':case'H':case'I':t=t*10+4;break;
                    case'J':case'K':case'L':t=t*10+5;break;
                    case'M':case'N':case'O':t=t*10+6;break;
                    case'P':case'R':case'S':t=t*10+7;break;
                    case'T':case'U':case'V':t=t*10+8;break;
                    case'W':case'X':case'Y':t=t*10+9;break;
                    default:t=t*10+(num[i]-'0');
                }

            }
            if(M.find(t)==M.end()){
                    M.insert(map<int,int>::value_type(t,1));
                }
            else
                ++M[t];
        }
            bool find=false;
            for(map<int,int>::iterator it=M.begin();it!=M.end();++it)
            {
                if(it->second>1){
                    find=true;
                    //这里是我写的cout的输出,为什么不能再poj中ac呢,下面注释掉的printf方法可以ac
                   cout<<fixed<<setprecision(3)<<it->first/10000<<"-"<<fixed<<setprecision(4)<<it->first%10000<<" "<<it->second<<endl;
                  //printf("%03d-%04d %d\n",it->first / 10000,it->first % 10000,it->second);
                }
            }
            if(!find){
                puts("No duplicates.");
            }

    }
                return 0;
}

c++

2个回答

这两个输出不等价,下面的有空格,上面的没有。

connie_py
connie_py 找到原因了 输出的形式错了 位数不够要补零 cout.fill('0'); cout<<setw(3)<<it->first/10000<<"-"<<setw(4)<<it->first%10000<<" "<<it->second<<endl;
4 年多之前 回复

cout是c++的,printf是c,估计支持问题。

connie_py
connie_py 是两个格式不等价,找到原因啦~
4 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问