编程论坛
注册
登录
编程论坛
→
C++教室
各位大哥大姐 帮帮忙 要交了
悦治
发布于 2013-07-03 11:07, 606 次点击
从键盘输入字符串,将其中的单词(两个空格之间的字符串)的第一个字母转换为其后一个字母(如第一个字母为a,则将其转换为b,如第一个字母为z,则将其转换为a),输出原始字符串及转换后的所有单词,直到输出“*”结束转换和输出。
要求:转换功能由单独的函数完成。
6 回复
#2
peach5460
2013-07-03 11:24
没兴趣做作业
#3
悦治
2013-07-03 11:29
回复 2楼 peach5460
给个提示呗 不知道怎么调用转换后的字符 用指针吗
#4
rjsp
2013-07-03 11:58
1st, 2nd, 3rd, 4th
这些都是单词吧,那 1 该换成什么?
还有,大字字母怎么办?
#5
peach5460
2013-07-03 12:31
strNew
for(string::itr = str.begin()......)
{
strNew += *itr + 1;
}
#6
rjsp
2013-07-03 14:47
回复 5楼 peach5460
还有一个 z 变 a
程序代码:
#include
<stdio.h>
char
foo(
char
c )
{
if
( c>=
'
A
'
&& c<=
'
Z
'
)
c =
'
A
'
+ (c-
'
A
'
+
1
)%
26
;
else
if
( c>=
'
a
'
&& c<=
'
z
'
)
c =
'
a
'
+ (c-
'
a
'
+
1
)%
26
;
return
c;
}
int
main()
{
printf(
"
%c\n
"
, foo(
'
a
'
) );
printf(
"
%c\n
"
, foo(
'
b
'
) );
printf(
"
%c\n
"
, foo(
'
y
'
) );
printf(
"
%c\n
"
, foo(
'
z
'
) );
printf(
"
%c\n
"
, foo(
'
A
'
) );
printf(
"
%c\n
"
, foo(
'
B
'
) );
printf(
"
%c\n
"
, foo(
'
Y
'
) );
printf(
"
%c\n
"
, foo(
'
Z
'
) );
return
0
;
}
#7
peach5460
2013-07-03 16:47
哦,对哟,代码没写严谨
忘了z变a
1