|
|
马上加入,结交更多好友,共享更多资料,让你轻松玩转电力研学社区!
您需要 登录 才可以下载或查看,没有账号?立即加入
×
本帖最后由 xaut3 于 2010-7-24 10:17 编辑 : ^( a4 x" e) l
9 l% M# y \ U8 w/ G7 e
题目: 编写一个程序,以每行一个单词的形式打印其输入。9 g) v. O0 ]5 b1 w3 U H3 O. H
分析: 单词是一个不包含空格,制表符或换行符的字符序列。思路很简单,. i! q- S7 f% n; i2 r
: R8 G- E8 o4 \0 [
如果一个字符不是空白字符就打印出来,如果一个单词已到结尾就打印一个
6 {3 Z7 K% X1 S- \2 X换行符。可以这样判断一个单词是否到结尾:前一个字符是单词的组成部分," o- o' G* J" b3 P% F( J9 N8 Z
当前字符不是单词的组成部分。
1 Q7 m: G! V! ]- P+ m& a: S0 Q, J9 _+ n8 G0 e+ R) s
1 #include <cstdio>
+ |' k2 z' S, ~" G 2 5 p; Y: U; M8 N/ l) w0 Q. I
3
& F& \/ e( C8 o* H: susing
& x" w. T6 Q `* ]$ Y8 Anamespace std;
a* A$ \4 s. a) d 4
, K) p5 g% N$ b% R* `+ d 5
' X) c, o7 E3 Kint main()2 A t9 K2 O6 D6 _$ t
6 {
M, l5 [2 u2 a# N 7
, A5 V3 I6 e( Tconst
! O: B8 j" t8 i/ J; }# Uint OUT =
4 B; Y9 z8 w: H, E! V6 R: m1; //字符不是单词的组成部分. Q- h% G. E( a2 e
8
7 H" ?, Q7 _9 @4 M( I
3 m# O! U& X1 b- w* Kconst9 A) l# E3 ^ D7 s0 w
int IN =, c7 w; m. \& M8 p
0; //字符是单词的组成部分1 D5 q9 D3 W% m* {8 M$ K4 j$ t- I! g
9 ! n+ H0 T% w U X0 Y
5 W& s# \/ \, A6 R, O7 q8 a' Y2 u5 H10
2 \1 q8 F! V2 O+ N) C. y) eint pre = OUT, curr = OUT;5 w/ [' h: L6 W+ ^& \
11 9 b7 }- R8 ^( ?, W
12 0 J3 r7 }$ n* u& V
int c;
D: u# R6 a& ^% C+ I* M; {9 T, Q13 ( ^( U7 H5 q, Y, P6 Q( K2 b0 g
while( (c = getchar()) != EOF )
* l! M, Q( w$ H5 Y* j5 ~$ U6 O14 {
. W+ I+ H- v% G15
/ a" D! R8 R3 G$ ^/ L. @1 M2 \3 Z( Fif( c ==& v+ d8 _- L. P+ b e( `
'
/ y5 I) t6 }0 x2 o( T/ E; n'
; _% x. e% X8 [5 E+ G|| c == e" H' _. }/ R# W0 [
'\n'' }. E( v& W. B t6 j" p" U. _
|| c ==
. [8 X1 n) e' ^6 C. r: W/ j'\t' )
- P, H# Z/ v. i9 Q: H( d& z16 {
. f" H! ~% x: M. K17 pre = curr;
" E, {5 u6 [0 I$ A x18 curr = OUT;* `6 ?6 _8 V% E2 S/ { @9 N
19
% @5 S. o# n7 {//是否遇到单词结尾
& ]' V. [6 W2 W+ d0 o& Q20
% T/ k& P: \3 O4 q
4 W. L" [1 a; G1 m! J/ |1 p: N. oif( pre == IN && curr == OUT )0 N; x. m* E8 j$ q' j1 D* o
21 {4 M: w/ z* W5 L$ i
22 printf("\n");
% d. V' O7 P) F4 h23 }
4 P) Z; L9 k8 i( e/ N( j24 }% _1 \7 A) E+ o7 x+ V r" j8 C7 V
25
2 ^1 u2 [5 I' C% v6 zelse: N. X, f5 `* s
26 {4 d; G7 q) C+ \) Z8 g& B
27 pre = curr; t& Y& T8 E' j1 z4 q
28 curr = IN;4 f3 t" ]- x" |, G
29 putchar(c);
/ I3 f. l. V; W2 L/ v30 }1 U0 b* Q2 j4 J
31 }
~( m% x! N8 u$ X* ~32 ) }' h0 a: o, [( {& \" s
return
- K% E+ V; ^0 {0;7 _, Y* H$ d% e$ Z) h" w8 h
33 }# z2 |: H& w' A( v5 c( ^
34
+ T2 L4 M- U: ?. P2 M2 ?1 ]* ?" v u3 q# c3 u
: j$ [# e3 c7 m当然,这个程序可以使用C++的string。 |
评分
-
查看全部评分
|