首先这是一道水题。
输入规模是n
运算过程有2*n
输出过程是n
那么,有图有真相:全部是G++交的。
从下往上看过去。第一个是一般写法。第二个是ws输入。第三个是ws输出。
输入部分:
for ( i = 1 ; i <= n ; i ++ ){
// scanf("%d",s + i ) ;
ch = getchar() ;
if ( ch == '-' ){
k = 1 ;
j = 0 ;
}else{
j = ch - '0' ;
k = 0 ;
}
while((ch = getchar()) >= '0'){
j = j * 10 + ch - '0' ;
}
if (k) s[i] = -j ;
else s[i] = j ;
}
输出部分:
for ( i = 1 ; i <= n ; i ++ ){
//printf("%d ",s[i] ) ;
j = 0 ;
k = s[i] ;
do {
out[j ++] = k % 10 + '0';
k /= 10 ;
}while ( k ) ;
while ( j -- ){
putchar(out[j]) ;
}
putchar(' ');
}
由此得到一个结论。。
getchar()和putchar()比scanf和printf快多了。。。
WS输入输出(转)
最新推荐文章于 2023-01-29 08:30:00 发布