1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
|
//
04ReplaceBlank.cpp : 定義控制檯應用程序的入口點。 // #include
<stdio.h> #include
<iostream> using
namespace
std; void
ReplaceBlank( char
string[], int
length) { if (string
== NULL && length <= 0) return ; int
originalLength = 0; int
numberOfBlank = 0; int
i = 0; while (string[i]
!= '\0' ) { ++
originalLength; if (string[i]
== '
' ) ++
numberOfBlank; ++
i; } int
newLength = originalLength + numberOfBlank*2; if (newLength
> length) return ; int
indexOfOriginal = originalLength; int
indexOfNew = newLength; while (indexOfOriginal>=0
&& indexOfNew > indexOfOriginal) { if
(string[indexOfOriginal] == '
' ) { string[indexOfNew--]
= '0' ; string[indexOfNew--]= '2' ; string[indexOfNew--]= '%' ; } else string[indexOfNew--]
= string[indexOfOriginal]; --
indexOfOriginal; } } int
main() {
const
int
length = 1000000; char
str[length]; gets (str); ReplaceBlank(str,length); cout<<str<<endl; return
0; } /************************************************************** Problem:
1510 User:
yymydm Language:
C++ Result:
Accepted Time:20
ms Memory:2424
kb ****************************************************************/
|
題目1510:替換空格
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.