注册 登录
编程论坛 C++教室

各位大哥大姐 帮帮忙 要交了

悦治 发布于 2013-07-03 11:07, 606 次点击
从键盘输入字符串,将其中的单词(两个空格之间的字符串)的第一个字母转换为其后一个字母(如第一个字母为a,则将其转换为b,如第一个字母为z,则将其转换为a),输出原始字符串及转换后的所有单词,直到输出“*”结束转换和输出。
要求:转换功能由单独的函数完成。
6 回复
#2
peach54602013-07-03 11:24
没兴趣做作业
#3
悦治2013-07-03 11:29
回复 2楼 peach5460
给个提示呗  不知道怎么调用转换后的字符  用指针吗
#4
rjsp2013-07-03 11:58
1st, 2nd, 3rd, 4th
这些都是单词吧,那 1 该换成什么?
还有,大字字母怎么办?
#5
peach54602013-07-03 12:31
strNew
for(string::itr = str.begin()......)
{
strNew += *itr + 1;
}

#6
rjsp2013-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
peach54602013-07-03 16:47
哦,对哟,代码没写严谨
忘了z变a
1