《算法笔记》2.6小节——C/C++快速入门->函数

问题 A: 习题7-5 字符串逆序存放

题目描述
写一个函数将一个字符串按反序存放。在主函数中输入一个字符串,通过调用该函数,得到该字符串按反序存放后的字符串,并输出。
输入
一行字符串。
输出
输入字符串反序存放后的字符串。单独占一行。
样例输入
abcd
样例输出
dcba
参考代码

#include
#include
int main()
{
    void rev(char s[]);
    char s1[20]={'\0'};
    gets(s1);
    rev(s1);
    puts(s1);
    return 0;
}
void rev(char s[])
{
    char temp;
    int i,j,k;
    k=strlen(s);
    for(i=0,j=k-1;i<k/2;i++,j--)
    {
        temp=s[i];
        s[i]=s[j];
        s[j]=temp;
    }
}

问题 B: 习题7-7 复制字符串中的元音字母

题目描述
写一个函数,将一个字符串中的元音字母复制到另一个字符串中。在主函数中输入一个字符串,通过调用该函数,得到一个有该字符串中的元音字母组成的一个字符串,并输出。
输入
一个字符串(一行字符)。
输出
该字符串所有元音字母构成的字符串。行尾换行。
样例输入
CLanguage
样例输出
auae
提示
可以采用如下函数原型
void vowels(char s1[], char s2[]);
参考代码

#include
#include
int main()
{
    void vowels(char s[],char a[]);
    char s1[20]={'\0'},s2[20]={'\0'};
    gets(s1);
    vowels(s1,s2);
    puts(s2);
    return 0;
}
void vowels(char s1[],char s2[])
{
    int m,n,i,j;
    m=strlen(s1);
    n=strlen(s2);
    for(i=0,j=0;i<m;i++)
    {
        if(s1[i]=='a'||s1[i]=='e'||s1[i]=='i'||s1[i]=='o'||s1[i]=='u')
        {
            s2[j]=s1[i];
            j++;
        }
    }
}

你可能感兴趣的:(算法笔记练习,算法,字符串)