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

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

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

[复制链接]

该用户从未签到

尚未签到

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

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

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

×
本帖最后由 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 B
11
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 Z
14     {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& o
16         {
! @9 S$ Q; ?  l/ g6 @6 P( V6 K
17             pre  = curr;
0 ~7 G+ g$ ^$ Y( B3 y
18             curr =  OUT;
& k6 }% B5 E8 K) i) I8 }* a5 S  k; E+ u
19 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) D
21             {
7 }: v  f0 o6 c8 N% Z
22                 printf("\n");
3 u& Y+ k+ t  V
23             }+ ?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, i
28             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 z
31     }+ 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。

评分

参与人数 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-3-19 06:40

    Powered by Discuz! X3.5 Licensed

    © 2001-2025 Discuz! Team.

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