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

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

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

[复制链接]

该用户从未签到

尚未签到

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

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

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

×
本帖最后由 xaut3 于 2010-7-24 10:17 编辑 . {. D- S+ G6 ~1 _) D/ x
5 h! d5 q. @& \) ^
题目: 编写一个程序,以每行一个单词的形式打印其输入。
" }2 Z% h  \: f3 D! J' x" F9 B分析: 单词是一个不包含空格,制表符或换行符的字符序列。思路很简单,4 L) g, _6 o0 t% [! K1 I# T( Z! E/ z
/ Y% R- b5 ?3 f4 R
如果一个字符不是空白字符就打印出来,如果一个单词已到结尾就打印一个/ F- f8 G7 l* y0 H" N6 \5 y
换行符。可以这样判断一个单词是否到结尾:前一个字符是单词的组成部分,/ J, g- h% e' T/ W+ [7 e& ~, L! f
当前字符不是单词的组成部分。 , t+ ?7 v9 c; A. _. ?. O
3 x5 x2 z* Z( t
1 #include <cstdio>
) }: `1 t7 u- a 2 5 z# v3 f1 `3 ~: Y0 M
3
. v. c4 m( Y& E* U9 Cusing. j2 [% ^' N0 z8 k; h. C4 q
namespace std;; }1 l- f5 w, A( d( H$ R
4
( J& s5 }1 C8 N* x% a! H8 h 5 * n. o* \; p& O* v! F: k1 ?
int main()# E2 W$ E7 J$ X  T8 b
6 {, E" h; `5 W3 d' p. I
7
$ z9 X+ g0 p5 w" J! C* o* B- f9 \) gconst
% {- R# [" g* M9 }! }6 b# Kint OUT =
7 Z" o5 r4 a( q  a' `4 W! ~/ \1; //字符不是单词的组成部分! J, r2 G' Z* {' E
8 # M1 S9 j6 N& s7 b; D% z: G) H
* F% A8 k( _) E& n, f- z  N
const
+ `% t+ i9 f! K' `int  IN =  F  ~5 P0 j, m9 T3 R
0; //字符是单词的组成部分+ \4 T2 ^' G( q$ u2 n; r) Z
9
& i( M$ M& {) Y6 G. _3 S! a- h
, [' G0 p! ^* }  a% E10
3 ^1 E$ s, n$ f$ ~5 E( B, Pint pre = OUT, curr = OUT;4 w5 [" G' W& e5 L% E7 B  ~
11 3 G' G" {; V5 A! E9 ~. O9 W/ q* M
12 1 U9 b3 P. e0 |$ d  s0 j
int c;
2 q: S* D, K4 C; u6 e; ^
13   ^6 S" J5 V) |" k- g0 A4 q
while( (c = getchar()) != EOF )
' f; v1 x& M) F/ x
14     {4 B" ~- R& W5 X5 z+ d
15 $ T/ \: b+ Q  O/ K4 n. m. \
if( c ==
, n0 v1 |% z# s% q# `2 r: a'" G' v5 B9 u# @2 y, @7 {  c$ A
'
- C4 f- C! @" B" n" a|| c ==" x' x# ~4 ~: a+ _6 o4 Y! ]# d
'\n'0 M* O7 T+ V4 N+ r+ C& a' W3 q
|| c ==
' m' U$ n- M( T! _% ^& W'\t' )
4 R. P+ R# s0 K. N9 K% j$ U) W7 @: U, a
16         {$ f' G  V6 ~' A5 s+ k. ^
17             pre  = curr;. X& h. a* N/ T
18             curr =  OUT;
. ?# Q+ Z6 ?4 d; M$ s3 e
19 & p% \4 g* r  c5 k. K' m
//是否遇到单词结尾! G6 r# Y' E$ X4 ^2 |/ f# _
20
4 D4 W) N9 e- m1 }) w, z1 e# {- B1 s1 k' @) b  f4 m+ h& \
if( pre == IN && curr == OUT )" j6 S, Q9 t; s3 j+ L7 P
21             {
' {$ T8 z2 U# `; S& V
22                 printf("\n");2 L# g; a# v9 W5 H6 O; y1 y
23             }
; d0 C+ ?- h* m( W
24         }# w2 i& w- X/ v- S, E2 s& ~
25
3 e7 O# E/ j2 c8 Telse
$ {- ~9 Q3 {0 f/ G+ S( W2 e26         {) T. [, ?% P/ |1 e8 G
27             pre  = curr;2 r( d, E: k! A- o9 V
28             curr =   IN;
7 ~' B1 X4 o/ k9 h* f* M) {
29             putchar(c);+ X" ^7 b- [& v4 A  W8 L' [" S
30         }
! N/ q$ H$ N# X: X' O
31     }* t6 B' B) z/ G' ~
32
% {+ `2 @; }: w3 ^6 n4 M9 R- k, breturn
' H8 U7 _; I( l% P! R0 r0;" F$ S. M  T' x  E+ f/ F2 t' z# R# @
33 }5 X6 z( q( |( z9 N
34 4 X. |4 h+ j  c) ?

3 \: V7 M$ r1 p+ z+ l4 A% j( u& Z6 K! r! Q' l9 {( D
当然,这个程序可以使用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-6-8 17:13

    Powered by Discuz! X3.5 Licensed

    © 2001-2026 Discuz! Team.

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