设为首页收藏本站|繁體中文 快速切换版块

 找回密码
 立即加入
搜索
查看: 1539|回复: 4

C程序设计语言-练习3-2

[复制链接]

该用户从未签到

尚未签到

发表于 2010-7-23 19:47:03 | 显示全部楼层 |阅读模式

马上加入,结交更多好友,共享更多资料,让你轻松玩转电力研学社区!

您需要 登录 才可以下载或查看,没有账号?立即加入

×
本帖最后由 xaut3 于 2010-7-24 10:17 编辑 ( i2 s9 L4 @. c
: H6 ^" S. b: T  ]5 j) c+ @
题目: 编写一个程序,以每行一个单词的形式打印其输入。$ g. }2 ^, ^' m0 y( H% p% X
分析: 单词是一个不包含空格,制表符或换行符的字符序列。思路很简单,# b7 }0 {+ w0 {
1 A8 o! d# o+ M) j$ e) W5 k
如果一个字符不是空白字符就打印出来,如果一个单词已到结尾就打印一个) ?8 a; ~# t$ q( o2 n5 i
换行符。可以这样判断一个单词是否到结尾:前一个字符是单词的组成部分,/ I0 |. ]* z# T3 j+ F( D
当前字符不是单词的组成部分。
. H  Z2 ~% @# m' y  x# l
/ ]  O( }; a; b# k: \2 ] 1 #include <cstdio>( a% G4 c3 C8 I* _
2 0 f0 M+ N' l, F" t' z1 ]+ B' ~7 T
3
6 j( y* O5 i& S. }. N9 T4 ^$ B& c  Xusing
+ r# n  @# \8 |; I# D( Qnamespace std;+ V1 z9 ?+ E8 t9 P- L( `( W
4
. }$ s5 j1 P: h$ Y- K! S 5
( ]) l2 F0 F4 X+ q* Eint main()
& \1 B* y7 X, k3 s8 e/ D6 v
6 {
4 ]* r( [  K2 U: A* q. B' v
7
, R! |4 L0 e4 e" r2 K. U- iconst
+ D) y4 l" L4 D9 S4 Rint OUT =
. b+ g' E1 u6 C# G1; //字符不是单词的组成部分4 [8 A1 ~1 B( D: H4 c
8
! E; I* G3 n3 U8 q8 H( N! o9 u' X. i/ N& v" g3 q/ j
const
* h5 D% f: a5 j  o  g- F' w9 j" U. V+ m6 ?int  IN =
% O2 \) A8 p; G/ U0; //字符是单词的组成部分8 N7 p3 M  x- S3 k
9
0 A5 E7 |3 J6 x6 {3 I6 i
. N* D& k  j% e' t8 ^4 @! E10
+ A' n$ k& T- G  a$ O" I  N, \! \int pre = OUT, curr = OUT;4 M0 w# l: @5 T3 q4 ~9 {' e3 G
11 , [2 @! n6 Y3 o( l1 X; ~# ?
12 . @% a: G& U$ o1 S) s- g
int c;
/ j% j% `& q; |+ t& u$ C5 f
13 , c& ^  Y$ ~0 K. d: E& I- r1 |
while( (c = getchar()) != EOF ), t. @7 j8 c- a  T4 L2 u1 y# I
14     {  Z9 X3 V9 c! q! g8 c* _
15
0 e$ U8 d0 U/ M7 {if( c ==
/ V3 d5 s7 W- I! N* l' `# i! ?, ^'+ b: B  ]( D7 ?& N! w9 _3 f
'
0 x( a/ a  E$ q8 Y|| c ==* x5 n( q0 ^- c: H4 ^* y) `9 Z
'\n'
8 g% `' k/ G8 A! V|| c ==% \' ]3 m8 E2 i& c, t6 ]
'\t' )
) i( \4 ?, ~; ]
16         {# X% E) L' K& z8 n- Y9 O
17             pre  = curr;
3 x: @. w) i8 S( z1 c
18             curr =  OUT;" d7 z) b) z; [* g. z% q( h  {
19
  e* M# z: r9 ]8 j# V, Z7 K//是否遇到单词结尾7 [# i- s% a' x4 @5 S0 K
20 - y" c* h$ ~" k
% D$ o, q; b% O2 X$ Z$ L
if( pre == IN && curr == OUT )
4 |+ N+ ?  ]% R
21             {
6 O/ v8 E( U  C# h3 I( Y
22                 printf("\n");( l; T* @% d  e2 O: h2 T' ]! p
23             }
* H+ x) u7 z; _& B# Q
24         }! B  t! F. N  ]' n% f; ^8 b
25
, I  U' t; H3 velse/ ]* y. F2 ?8 M4 O, U/ R
26         {9 t! n0 `6 X) R. Q2 n$ j
27             pre  = curr;+ Z* I7 j4 L1 ]) x
28             curr =   IN;% ^5 }( P- y* H$ A) A4 Y7 X* S
29             putchar(c);' l+ O+ y5 d  O2 n" J
30         }
2 ?  @% x. W  D
31     }
; k: s* \& \& \8 n% x" G' a
32 , l& |6 O, m9 B3 J0 W2 u. ?
return
2 S" u* y4 c: O$ b* a7 M0;' A# k$ F% {" E. G3 |; P  V
33 }7 ?) B/ O8 r' {  F7 y& `
34
5 x+ z0 E+ H9 N2 F6 e$ Y$ d- _
/ X5 o/ z9 y9 k9 ]  M( b, ]  @: H1 x( e( `* j5 s- x" O2 p
当然,这个程序可以使用C++的string。

评分

参与人数 1威望 +6 学分 +3 收起 理由
xaut3 + 6 + 3 不错

查看全部评分

"真诚赞赏,手留余香"
还没有人打赏,支持一下
楼主热帖
帖文化:【文明发帖 和谐互动】 社区精神:【创新、交流、互助、共享】
  • TA的每日心情
    慵懒
    2016-4-21 12:07
  • 签到天数: 3 天

    连续签到: 1 天

    [LV.2]偶尔看看I

    累计签到:3 天
    连续签到:1 天
    发表于 2010-7-23 19:50:44 | 显示全部楼层
    不错的练习  还有 答案  呵呵  运行通过
    "真诚赞赏,手留余香"
    还没有人打赏,支持一下
    帖文化:【文明发帖 和谐互动】 社区精神:【创新、交流、互助、共享】

    该用户从未签到

    尚未签到

    发表于 2010-7-23 22:16:04 | 显示全部楼层
    乱乱的,楼主应该编辑好了再发啊
    "真诚赞赏,手留余香"
    还没有人打赏,支持一下
    帖文化:【文明发帖 和谐互动】 社区精神:【创新、交流、互助、共享】
  • TA的每日心情
    擦汗
    2019-11-6 08:33
  • 签到天数: 32 天

    连续签到: 1 天

    [LV.5]常住居民I

    累计签到:32 天
    连续签到:1 天
    发表于 2010-7-23 22:53:04 | 显示全部楼层
    好有趣的發文~~哈哈
    "真诚赞赏,手留余香"
    还没有人打赏,支持一下
    帖文化:【文明发帖 和谐互动】 社区精神:【创新、交流、互助、共享】

    该用户从未签到

    尚未签到

    发表于 2010-8-10 19:00:21 | 显示全部楼层
    谢谢!看看!!!
    帖文化:【文明发帖 和谐互动】 社区精神:【创新、交流、互助、共享】
    您需要登录后才可以回帖 登录 | 立即加入

    本版积分规则

    招聘斑竹

    小黑屋|手机版|APP下载(beta)|Archiver|电力研学网 ( 赣ICP备12000811号-1|赣公网安备36040302000210号 )|网站地图

    GMT+8, 2025-6-14 18:25

    Powered by Discuz! X3.5 Licensed

    © 2001-2025 Discuz! Team.

    快速回复 返回顶部 返回列表