您的位置:首页 > 其它

uva 11462 基数排序

2014-05-27 14:28 288 查看
注意下要手写输入输出

AC代码如下:

#include <iostream>
#include <cstring>
#include <cstdio>
#include <algorithm>
using namespace std;

int num[101];
int N;

bool isdigit( char c ){
if( c >= '0' && c <= '9' ){
return true;
}else{
return false;
}
}

int in(){
char c;
int ans = 0;
while( !isdigit( c = getchar() ) );

while( isdigit( c ) ){
ans = ans * 10 + c - '0';
c = getchar();
}

return ans;
}

char s[15];
void out( int num ){
int cnt = 0;
while( num ){
s[cnt++] = num % 10 + '0';
num /= 10;
}
for( int i = cnt - 1; i >= 0; i-- ) putchar( s[i] );
}

int main(){
int flag;
while( scanf( "%d", &N ) && N ){
memset( num, 0, sizeof( num ) );
for( int i = 1; i <= N; i++ ){
num[in()]++;
}
flag = 1;
for( int i = 1; i <= 100; i++ ){
for( int j = 0; j < num[i]; j++ ){
if( !flag ){
putchar( ' ' );
}
flag = 0;
out( i );
}
}
putchar( '\n' );
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: