輸入輸出外掛

1 //適用於正整數
2 template <class T>
3 inline void scan_d(T &ret) {
4     char c; ret=0;
5     while((c=getchar())<'0'||c>'9');
6     while(c>='0'&&c<='9') ret=ret*10+(c-'0'),c=getchar();
7 }
 1 //適用於正負整數
 2 template <class T>
 3 inline bool scan_d(T &ret) {
 4    char c; int sgn;
 5    if(c=getchar(),c==EOF) return 0; //EOF
 6    while(c!='-'&&(c<'0'||c>'9')) c=getchar();
 7    sgn=(c=='-')?-1:1;
 8    ret=(c=='-')?0:(c-'0');
 9    while(c=getchar(),c>='0'&&c<='9') ret=ret*10+(c-'0');
10    ret*=sgn;
11    return 1;
12 }
1 inline void out(int x) {
2    if(x>9) out(x/10);
3    putchar(x%10+'0');
4 }
相關文章
相關標籤/搜索