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

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

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

[复制链接]

该用户从未签到

尚未签到

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

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

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

×
本帖最后由 xaut3 于 2010-7-24 10:17 编辑 / B1 f, @5 I  o: T( z$ G* {4 x& x4 r
% F) S$ Y9 K% h0 a( E
题目: 编写一个程序,以每行一个单词的形式打印其输入。
' W. e! h* t' r0 f1 C' `+ g分析: 单词是一个不包含空格,制表符或换行符的字符序列。思路很简单,% ]- S2 t9 F1 e. A* W

' h- H7 w& n; M$ J4 R如果一个字符不是空白字符就打印出来,如果一个单词已到结尾就打印一个# D7 `. e1 s5 i. h! _, _
换行符。可以这样判断一个单词是否到结尾:前一个字符是单词的组成部分,; O' u/ S# y0 y0 }9 k) ?5 g
当前字符不是单词的组成部分。 * U! }% n+ J8 n: e% i8 e
2 K2 F# L+ V  @0 C. ~; q0 i
1 #include <cstdio>
6 A2 C' Y& S' _ 2 , r: ]  N' h5 b0 ]9 n! O3 O4 r
3
; c3 G: l, n3 \' R  X5 yusing
6 G3 v1 p: c6 v( F! e) ~2 ~7 znamespace std;! k9 t: d% p# p  G, _# N+ e# E
4
3 W- O4 `+ l, @5 o) _6 ^, x( g! f: l 5
1 p! n) V! e2 O8 h! e/ _int main()8 M* g) \" P7 S7 I$ x( u6 p7 ~
6 {  W+ B& h5 Z+ p0 }( |5 }
7 2 J: s' I! F! l+ K
const
4 o+ \: \* w; J) F9 vint OUT =
. S/ c4 [# c/ ]. o( d& ^% i; z6 L1; //字符不是单词的组成部分0 c) p4 O- ]; x6 l
8
  F- N7 D) Q+ g
) x! [2 F8 z0 B7 k/ Oconst3 N5 s% B4 {0 \0 F
int  IN =0 T$ ]. {: y- y
0; //字符是单词的组成部分
( ]! P! @! }4 o) O; M7 Y4 w6 S1 g& e. B 9
2 E1 I' y' H# H, Q5 n/ ?. ]! \% u% F) Z
10   C# Q  a7 K  L" `; N
int pre = OUT, curr = OUT;. x' k! l! L5 {; f6 W
11
: `2 V" J; c& g+ w0 O/ V3 ~8 e12 9 f! `- @5 z0 {) A
int c;
8 o! \; r$ Y" |/ |
13 6 F" c' D9 Y; s; O/ Q) m9 u$ Q
while( (c = getchar()) != EOF )
( @8 m" Z4 s! \6 @8 R3 b
14     {
8 _4 s& c9 H8 C
15
$ K' Q/ h7 a5 V& ]) v0 N" Sif( c ==
. N2 b8 ~5 N/ \2 O'
/ g- Y  w: S6 S; \% v9 r'
1 R: W# @$ e! M  u6 _4 [5 G|| c ==
$ Z4 c  ?9 r4 Q- t* l8 u, L'\n'
9 w  ~9 I6 |& z; G. Z& r: p|| c ==
) z8 G6 g- {( E) ^8 m'\t' )
9 y* g6 J+ F/ g: f% x& r- q* c
16         {1 s& g9 A) J! R% H1 {
17             pre  = curr;
  t  Y; m5 y3 t, x) U7 f2 |  _
18             curr =  OUT;; u; n8 r$ n& K) _* ^
19
0 K9 `: m* M8 x% g//是否遇到单词结尾
. f% o; D7 D& @5 M' q20
- f6 c  V3 A, r3 R% U2 D  Q0 y+ E
if( pre == IN && curr == OUT )
6 l# _3 B7 R$ g
21             {
: F* c; A5 g- x4 s- L
22                 printf("\n");
0 h6 w, N# M3 Q% ^. j' @. d% q
23             }
4 \* Y9 f( Y6 ]+ e7 r
24         }
( i; q4 e- H6 f" V
25
# x2 o! M0 K0 n  W0 Z) ^else
5 q& D' b# z. b) R26         {2 @* Y* \% V0 x( |/ y. Z
27             pre  = curr;4 s+ K! G2 ^# i+ [$ D5 i
28             curr =   IN;$ y) a! t4 S! V, Y
29             putchar(c);
) {3 L2 B; d9 n: G' m7 Q4 T  i) n) k
30         }9 T! c5 ~* a  w! q7 A* j% P
31     }+ \# n% }' C% F6 n& [$ F  L
32 ' O  Q& a0 k, |
return9 P$ X' {+ |1 d
0;8 c4 b+ g7 I9 ^4 d* V7 L
33 }
& `( ^8 S; V9 ?$ J% t5 c2 ?5 Z& Q5 F
34
( l% M* o7 ?0 D4 k8 T
- i4 z$ y0 ~4 |& T: A9 z( n/ Y. I6 a0 @- H2 P; I
当然,这个程序可以使用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, 2026-10-10 01:27

    Powered by Discuz! X3.5 Licensed

    © 2001-2026 Discuz! Team.

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