|
|
马上加入,结交更多好友,共享更多资料,让你轻松玩转电力研学社区!
您需要 登录 才可以下载或查看,没有账号?立即加入
×
本帖最后由 xaut3 于 2010-7-24 10:17 编辑 & m, Z$ C5 y! O4 D9 u! u; r
5 ^' r% {6 @* [ t题目: 编写一个程序,以每行一个单词的形式打印其输入。* f* }% A5 ^6 ]; T1 p5 ?: O7 j% k
分析: 单词是一个不包含空格,制表符或换行符的字符序列。思路很简单,: I* J: }/ D( C
: |% b) Q: A7 X" f7 u6 I
如果一个字符不是空白字符就打印出来,如果一个单词已到结尾就打印一个6 X( g x/ t, i2 g8 r) Z* A/ D
换行符。可以这样判断一个单词是否到结尾:前一个字符是单词的组成部分,
0 q1 Z" l5 ~# v) }当前字符不是单词的组成部分。 8 a& I; [4 x) d4 }* ~2 ^3 }! s* ]
' ?2 |6 R! k" @7 P5 }
1 #include <cstdio>
5 |( K. }) |0 q& O6 [% D& Q! r 2 9 p) [! d! x6 `1 v; H
3 6 _: L6 s% [: p# w2 d8 P
using6 w' J$ L4 e3 @( o
namespace std;; K3 \# O9 S: w) F
4 " |. y! x# M6 S' k `' a
5 - c, {1 M _# h& D8 ~8 U+ E+ u! V
int main()
/ }! x5 A% z8 M* `! o" t) x 6 {1 H* y A6 ^$ O. a- e5 u
7
' t# s* g- R- E: ~6 U2 j& H2 c$ Fconst
' N b# t: G3 c3 P3 h# U( [- y: Jint OUT =0 e9 Z7 w& E y( d2 G
1; //字符不是单词的组成部分
- r. h" B) P, w2 D4 d 8 5 x1 y5 f6 v u3 }4 R3 |. c
- d1 o# o! l; |/ b; yconst0 N- h( t' {+ \+ }
int IN =
3 {, ], u* A4 `6 U+ @4 e# j. @0; //字符是单词的组成部分
# o9 w- D0 X7 y! n9 [ 9
. q0 @" [ a# T( [2 z. B- @
7 x' i; @1 z9 I0 J( U$ y8 k) Y10
r1 V, Y$ J# Tint pre = OUT, curr = OUT;
' ?( I: [! q& z6 B11
7 O; q; G- M+ M! X8 G# S12 # T- `4 x& o5 K( a( m. X$ S) [. I+ W
int c;" o/ w( N4 o; M6 b. {5 w8 Z; ?
13
( N* L f+ f* \while( (c = getchar()) != EOF )
0 G/ U7 s0 H$ s. p3 C3 Z14 {8 y) b+ F1 w7 e8 _; I
15 & O; A$ \: f+ N
if( c ==0 I- L+ u, B( }1 l
'1 A7 o. ^* ]9 s; H
'1 z" b, l" t- w% R0 x, e. q$ `+ z8 J2 ^
|| c ==
1 M6 Q7 K. W2 y! T2 i# K'\n'9 t: S* i: Q1 L& X( F6 H
|| c ==! C% a- _, @1 w5 I+ O
'\t' )
( o( J6 v- W* A1 K& o16 {
! @9 S$ Q; ? l/ g6 @6 P( V6 K17 pre = curr;
0 ~7 G+ g$ ^$ Y( B3 y18 curr = OUT;
& k6 }% B5 E8 K) i) I8 }* a5 S k; E+ u19 4 z4 ?; v4 ~- B
//是否遇到单词结尾
; p2 { h* ?2 E" X- }20 : r7 v9 h* A4 |1 {
0 @' Y7 x. @0 w; |# D- k2 a0 V
if( pre == IN && curr == OUT )
0 O* u) \5 ]5 d) D21 {
7 }: v f0 o6 c8 N% Z22 printf("\n");
3 u& Y+ k+ t V23 }+ ?3 O, j) Z' \8 w
24 }% g* E2 [1 L1 g( Y- }9 \4 M; m$ A1 h
25 8 c* G+ T, A1 X) {7 _% n
else% l$ P3 t' o1 c1 P
26 {/ A8 P1 ~# W! F+ o7 [7 Y
27 pre = curr;
: D" @# ~9 }# R, B, i28 curr = IN;# Y2 [: X& L6 f
29 putchar(c);$ |& d: x1 K( R; a& P
30 }
: C$ J. n9 g* W/ @( S0 X8 M- Q8 z31 }+ E! x* g: K, y8 l8 v3 l
32
& s$ s/ Q; R) _3 Lreturn& U- J m- T) y0 v8 G
0;# _$ H9 ^" {$ ?" }% y
33 }$ U3 F# w* e: |) o
34 g; ^3 s8 T$ z, w
0 C l+ F0 p. E; H7 B- H8 T) u* N0 l/ k$ B/ r0 i z
当然,这个程序可以使用C++的string。 |
评分
-
查看全部评分
|