|
|
马上加入,结交更多好友,共享更多资料,让你轻松玩转电力研学社区!
您需要 登录 才可以下载或查看,没有账号?立即加入
×
本帖最后由 xaut3 于 2010-7-24 10:17 编辑 - A) N/ Z$ l' Q* N1 M
; x9 W+ t9 N5 M: r7 r3 U4 a
题目: 编写一个程序,以每行一个单词的形式打印其输入。
! M) ^- K% K1 S' r分析: 单词是一个不包含空格,制表符或换行符的字符序列。思路很简单,
" w2 R/ x; I$ x: N+ C2 T) w8 q! T e1 \2 R
如果一个字符不是空白字符就打印出来,如果一个单词已到结尾就打印一个
3 I2 {& C+ ?* x换行符。可以这样判断一个单词是否到结尾:前一个字符是单词的组成部分,* L" j$ ~5 Q: H* ?
当前字符不是单词的组成部分。 : t( W# X- d& }0 I1 X
6 r1 W2 d6 J( T- @( b, @
1 #include <cstdio>
. U) ~" q! i' E" i1 B2 ~ 2
2 W, G# g B9 f: u; z: m! Q 3
2 [0 W" p7 X4 [9 G2 ?using
, f) f# G: R1 k& J9 h6 E! ^namespace std;
$ `1 O$ `, Q. O- f4 X1 m 4 & H$ i2 I( b, J. z
5 3 g T1 o. {0 W$ {& |
int main()( A# t7 ~& _, Y, [! R
6 {$ `: M) O( I7 h2 n0 }
7 % |+ U3 w* J7 v" ]- |* k
const
: d7 m1 x& y0 D) Z2 y Y. tint OUT =
_9 v6 a% l' ]; a( k+ [1; //字符不是单词的组成部分7 Y2 Q3 M+ n- [' c! q7 r! h$ J9 b
8 8 v9 b7 s% f: B# I+ c0 b* g
; u6 [& t: H# h P" J% x! s. }3 vconst; p7 \5 ?6 n. h3 H( U
int IN =
2 X+ P! G) `2 A1 L1 j! n0; //字符是单词的组成部分$ }/ l: I" r1 S6 v1 C
9
) j; L1 R) J& G/ l, K# n
8 m% o3 k# y; U; t5 M( B10
5 [6 S0 ^% w) zint pre = OUT, curr = OUT;7 }8 h. _- V" M4 W1 v
11 0 c! z; N. |4 z, r5 V) V
12 8 a0 ?7 L* R1 `6 E1 k: S0 O% x
int c;
9 b2 L9 j" H5 a& z3 E13
2 T8 c1 V% a& Z" |, b9 Swhile( (c = getchar()) != EOF )
( z0 M8 o, S* M; `: [9 U9 L4 X4 M14 {
5 U6 u' ~2 c2 p4 Q+ Y0 R3 Q15 1 | ]: Z3 }$ m% ~, V
if( c ==
% W+ f3 d. w5 d0 c'
; T% _/ D1 v$ M1 B# g'% K! X+ p% A* S u+ n& ?0 Y" W5 H( e
|| c ==$ H4 {0 C" s0 @
'\n'
0 B0 | i$ H+ ?. K4 w) ~|| c ==9 Y' w8 S0 n, k$ z9 O1 i3 _# J& \8 s
'\t' )0 ~$ E i8 m' N( x2 S; K% Q
16 {
1 _' l+ ^* b' t' F8 ]% D17 pre = curr;
) B/ q5 _, J, L: g6 o; c- P: j18 curr = OUT;
9 }# D( V; u! Y( t! h6 @19
: @* b+ v/ g0 ]//是否遇到单词结尾" K* o7 I/ `) `4 }
20
7 V# B9 V. y2 k& {: ~1 {# D- @- b) s- @& S9 V/ y: M( L
if( pre == IN && curr == OUT )! L' f8 ~8 F. p: v P& ~
21 {7 Z2 l! @% [% E* g3 R' x
22 printf("\n");3 Y+ Z( r6 H8 k0 D
23 }2 v5 b+ r: W' G1 t1 z0 j
24 }- z3 q2 e( Q X/ }5 Q( s
25
- Z/ X$ |, v; ?* pelse
% J# e% Z2 n* O/ L9 A9 x- W26 {
$ M! T# E! a3 Z: V3 }, W27 pre = curr; m& s; S. O/ r3 x, |
28 curr = IN;
& e) T1 U: e# ^( ]: k29 putchar(c);, L% I. ~# {% t0 E$ r9 j
30 }/ k! t1 n( R4 m2 z* s0 v9 n
31 }
: [* W9 v' p- N: k' w. _5 P32 8 |, E* \& F8 j! [* ~8 K( W
return/ m" C7 m9 `2 R; H) p, x; p1 z0 A
0;
: c; q6 _3 O* N: `( {3 b8 l+ B9 U8 z33 }# X) ?' ^/ Z5 C& ?
34
, j% @4 H- i" A% u$ K& J/ E4 m: u4 s# u' G: D& d- O
+ x1 I% e5 V! n3 _% c! E( R当然,这个程序可以使用C++的string。 |
评分
-
查看全部评分
|