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

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

题目

题目描述

写一个函数将一个字符串按反序存放。在主函数中输入一个字符串,通过调用该函数,得到该字符串按反序存放后的字符串,并输出。

输入

一行字符串。

输出

输入字符串反序存放后的字符串。单独占一行。

样例输入

1
abcd

样例输出

1
dcba

题解

思路

需要注意的是交换的是count - i - 1

代码

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
#include <iostream>
#include <stdio.h>
#include <math.h>
#include <string.h>

using namespace std;

void reverse(char s[])
{
int count = strlen(s);
for (int i = 0; i < count / 2; i++)
{
swap(s[i], s[count - i - 1]);
}
}

int main()
{
char s[100];
cin.getline(s, 100);
reverse(s);
printf("%s", s);

system("pause");
return 0;
}

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

题目

题目描述

写一个函数,将一个字符串中的元音字母复制到另一个字符串中。在主函数中输入一个字符串,通过调用该函数,得到一个有该字符串中的元音字母组成的一个字符串,并输出。

输入

一个字符串(一行字符)。

输出

该字符串所有元音字母构成的字符串。行尾换行。

样例输入

1
CLanguage

样例输出

1
auae

提示

可以采用如下函数原型

1
void vowels(char s1[], char s2[]);

题解

思路

代码

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
#include <iostream>
#include <stdio.h>
#include <math.h>
#include <string.h>

using namespace std;

void vowels(char s1[], char s2[])
{
int count = strlen(s1), j = 0;
for (int i = 0; i < count; i++)
{
if (s1[i] == 'a' || s1[i] == 'e' || s1[i] == 'i' || s1[i] == 'o' || s1[i] == 'u')
{
s2[j++] = s1[i];
}
}
s2[j] = '\0';
}

int main()
{
char s1[100], s2[100];
cin.getline(s1, 100);
vowels(s1, s2);
printf("%s\n", s2);

system("pause");
return 0;
}

《算法笔记》2.6小节——C/C++快速入门->函数
https://excelius.xyz/《算法笔记》2-6小节——c-c-快速入门-函数/
作者
Ther
发布于
2021年11月2日
许可协议