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

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

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

[复制链接]

该用户从未签到

尚未签到

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

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

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

×
本帖最后由 xaut3 于 2010-7-24 10:17 编辑 , e  g: W4 Z) E+ S
- Z' h5 N' b/ G! l3 G2 k# Y' W
题目: 编写一个程序,以每行一个单词的形式打印其输入。9 M! `9 T. Z4 ^( H) K% m: @
分析: 单词是一个不包含空格,制表符或换行符的字符序列。思路很简单,
; J& \, S0 N) N5 V% a* `7 _% j/ z
$ E6 j9 b* E1 m6 B9 |0 o; C1 \如果一个字符不是空白字符就打印出来,如果一个单词已到结尾就打印一个
) Q! @8 F, s( @3 F, G* v3 K换行符。可以这样判断一个单词是否到结尾:前一个字符是单词的组成部分,
1 l$ }' F, m: P5 y- w
当前字符不是单词的组成部分。 / \# L  r+ W) x8 p/ l0 \0 I+ Z  k

* [) Z6 v8 n. \3 K, |6 ?" B 1 #include <cstdio>
. [% I+ d' r3 e5 y# k  T( `. n+ ? 2 ) b3 j7 V8 M- i1 l8 N) {
3 ; X! m2 U1 m. Z9 S8 |0 X6 O4 s
using
7 p9 L6 D- {3 `$ x: U3 s: v7 wnamespace std;
, r3 W# {2 N1 }5 }2 w* ]
4 5 D! S+ H5 L6 M1 s0 [' a, e
5 ' h! V. Z% y8 V
int main()& k+ f' P! @+ {+ G: o
6 {
+ l% h4 s, J- [
7
5 P* ~1 a1 O8 d9 w& ~5 E" |* nconst, Y8 ]; R" [- M6 q. J8 \
int OUT =  C& B. R. v* m) [
1; //字符不是单词的组成部分" l- g: ]) m6 Y
8 % G! ~7 N9 `0 f/ k
$ t6 b* m# i2 `
const& U4 ~8 S' ]% u# ^4 P" ?) x, c
int  IN =
* B) @2 S4 n) F, O5 J: I4 n. M0; //字符是单词的组成部分7 ?2 x4 o, z% l$ X$ l1 E7 b
9 4 ]# t# f* C& F  J1 Y8 z

  G- \9 L$ q+ t8 t9 _0 a10
+ K5 F7 I( P  i; O! c  Aint pre = OUT, curr = OUT;
. O4 k0 F) b" ?3 y; q# F
11 - a' Y6 w0 d  c- Q1 c2 k
12
* f* G! @4 ~! Lint c;7 D& o/ ]; f" ^5 Z8 j
13
  e- j$ L% o7 a& [6 q5 hwhile( (c = getchar()) != EOF )  x$ E* @) S4 H: W8 F
14     {% \% r  \5 C$ \4 h0 z5 E
15 . ]. S5 @- w0 u4 _! C& i
if( c ==' Q5 o- K( L" k; U
'  V& ^! w3 |: ^
'. K) P( |8 x' y& B- V- A
|| c ==
. B0 G8 j3 P* z/ G'\n'
# M& i* m! x6 t4 [|| c ==* o* l! O& V/ d. x
'\t' )( m7 p* q9 o$ [* g9 I+ k9 P% Y
16         {
3 V6 E! [* P! g0 @) A( o/ e* ^
17             pre  = curr;: w+ N. ^( \: m) }2 o3 ?# h
18             curr =  OUT;. s6 o, a1 ~2 }6 R$ d5 n* q: }% T
19
8 w) G  B- c$ q//是否遇到单词结尾1 S) O/ K! N. {$ E/ q* M7 C/ b
20
3 j! F; x# I7 r8 j6 G# D7 V* X
, T# U$ F: r" sif( pre == IN && curr == OUT )
) [1 X+ \8 i" _. u  F  c, d8 i
21             {
9 x) o# h, m" `. @; i' c# @9 V8 }& J
22                 printf("\n");5 t# S4 I; T" |: \
23             }
  n/ b% `, U) p$ u# M- F( a
24         }* s% ~* k5 A9 u. `
25
# H" S' Z' y2 M0 \% Velse9 P% n( N: }7 w  R5 b) m1 G
26         {9 e- |' [  Z7 K0 L
27             pre  = curr;" V3 C* N  e7 p0 r4 x
28             curr =   IN;
8 @+ K$ u$ ^$ k9 ?
29             putchar(c);# Z! v6 u& @: T! q+ I; S
30         }9 V9 w# i9 n1 t
31     }
! F+ S# l. U  ~0 r: D2 m. p6 f. k
32
, U' m: [1 |- V; C0 |, c9 Hreturn
# G/ c( _; G& H% j" D0;6 t4 G3 l# o' ~/ r
33 }% v2 `8 f8 w  ]) t
34
5 a; p2 T1 B+ f  A6 q6 C, c* ~  p
$ @1 o+ f- f  X. T2 {8 K$ Q! J  O; W2 V) ^0 l$ w$ U
当然,这个程序可以使用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-16 14:40

    Powered by Discuz! X3.5 Licensed

    © 2001-2025 Discuz! Team.

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