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

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

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

[复制链接]

该用户从未签到

尚未签到

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

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

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

×
本帖最后由 xaut3 于 2010-7-24 10:17 编辑 4 B5 k5 [* o1 \' Y

8 m' i5 T! A$ G2 P/ i0 S! _题目: 编写一个程序,以每行一个单词的形式打印其输入。& [, |! G8 y' h' J* f4 I1 Z. C
分析: 单词是一个不包含空格,制表符或换行符的字符序列。思路很简单,7 K& g! N! Y1 o0 G$ J

1 ^$ p. n  @9 M' N1 ~- T7 R8 d& [如果一个字符不是空白字符就打印出来,如果一个单词已到结尾就打印一个
- K8 {  }! A, ~7 p8 X. Z9 V换行符。可以这样判断一个单词是否到结尾:前一个字符是单词的组成部分,
9 a7 R6 B8 V* L  Q, t0 ^  U
当前字符不是单词的组成部分。
9 b$ [# N7 A7 R7 Q4 K5 ?3 k' G! P' r
1 #include <cstdio>& ?/ N+ o3 z% F2 f# A- L6 l; a8 ]  a
2
# r/ @, P; ^( g 3 ! D5 \& u& H- i$ U/ p' {. g
using5 A5 Q4 g+ ^/ [# ]5 z& _$ U* x8 O
namespace std;. i, R# u1 {3 }  y
4
2 b1 p3 r# l; _$ c- R 5 . K5 P4 i4 \" i5 `9 V
int main()
! a$ C* K0 H, A" g
6 {$ z0 ?+ D" T$ X0 S9 h# v' {, f
7 0 {8 s9 a$ H; Y9 d0 z& h
const
0 b+ s" u& M1 O% ?3 L0 O+ pint OUT =2 r0 @3 [: R$ c$ U$ Q9 {& q
1; //字符不是单词的组成部分- z) t  o$ E" `" _  o! k* H
8 2 h+ o! \' k* j! k- V+ w" f$ i

# ^: Y7 B/ Q, v3 |const
/ H' i2 X; z  J( Z8 i$ lint  IN =$ k1 I8 J5 m7 {$ r. E- N
0; //字符是单词的组成部分
( Q" }( s; O  Y! ~* a: A 9
: M- M9 _# M9 f# V2 k
( Z  m3 `6 Q( s# w0 I10
4 Z, I# X0 V' y/ W4 F7 R" oint pre = OUT, curr = OUT;
6 u( k/ I2 T6 o2 D  L2 _. }5 A3 A  i6 g
11
6 G$ k1 ^0 _/ T( y  f4 ~! u3 I" K* B12
: c2 A4 I1 ]7 U+ w( wint c;; F" ^* L) k: r- m
13 & Q/ G# ^1 s+ {- X8 J& H3 h! o& j
while( (c = getchar()) != EOF )
$ \% o1 [+ w6 L
14     {5 N, [3 Q" m2 q/ |( A% f
15
* o: u9 v7 B  n' Mif( c ==
2 H' D) A, b. x# G1 W'
0 w. ?' q9 q1 `' N3 E* o: N: L% \'+ L, d+ c! q& g) {9 p( c
|| c ==
3 d6 L3 @, H( P7 R  X9 b'\n'/ v# h: e" G; R. }( w4 S
|| c ==
' h3 |3 j- b# o9 @) Y'\t' )
8 J/ L. B1 Q' K, g6 }4 a4 k6 p
16         {
- e3 \: C/ i( Z- A9 e5 t: ?
17             pre  = curr;' k9 ]" L0 A) `4 c/ [: E' {
18             curr =  OUT;  x$ T4 E) B( I& j4 a
19 ( l5 u$ R0 ~1 v5 S
//是否遇到单词结尾" ~6 }( X, o4 g
20 9 ~2 j0 B/ J# y
; b+ |5 {& h8 Y; b2 W" o$ @+ _8 }
if( pre == IN && curr == OUT )
5 [# H  B8 g) N: N' w6 E2 A$ v" l
21             {
+ w) O7 M; X! Z; T( D" j) J) z6 ?6 i
22                 printf("\n");
& e1 [# v: r7 Q  I4 H2 q
23             }
- T* T/ b7 [4 o) K
24         }3 h* a+ W! q/ _* |
25 8 u! `& Q; A8 r0 p' d' l- w& B
else
! C- E" D/ D; {/ M26         {
/ B9 @( ^4 q( s+ Q
27             pre  = curr;+ V4 X1 l1 N# ~) h; t
28             curr =   IN;
0 {8 y+ G( k' Q  f% }
29             putchar(c);
# \  W! y2 z  ?2 P* S
30         }5 ]+ A* e' V" F$ W/ y1 O
31     }
5 k/ Q+ i9 L+ S$ {; Q
32
) B) I+ P( ^7 Z$ i/ P- H. U4 xreturn) m4 j' z8 I" h7 |5 k
0;
- f/ d! c9 P# E- W. L3 O! }8 z2 d0 x
33 }4 p% K9 j+ ^( `! Z% Y
34 ) ~3 X0 E1 ?5 U9 D2 S: U
( _& z) C0 A, [. G/ b) }+ e# g, \

" \3 Y! k% V! q当然,这个程序可以使用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-4-30 21:34

    Powered by Discuz! X3.5 Licensed

    © 2001-2026 Discuz! Team.

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