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

目录

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

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


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

题目描述

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

输入

一行字符串。

输出

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

样例输入

abcd

样例输出

dcba

题解

#include <stdio.h>
#include <string.h>
#include <math.h>
//实现字符串逆序
void reverse(char str[]){
	int i;
	for(i = strlen(str) - 1; i >= 0; i--){
		printf("%c", str[i]);
	}
} 
int main(){
	char str[100000];
	gets(str);
	reverse(str);
	return 0;
} 

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

题目描述

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

输入

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

输出

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

样例输入

CLanguage

样例输出

auae

提示

可以采用如下函数原型
void vowels(char s1[], char s2[]);

题解

#include <stdio.h>
#include <string.h>
#include <math.h>
//查找元音字母
void vowels(char s1[], char s2[]){
	int i, j = 0;
	for(i = 0; i < strlen(s1); i++){
		if(s1[i] == 'A' || s1[i] == 'E' || s1[i] == 'I' || s1[i] == 'O' || s1[i] == 'U'){
			s2[j++] = s1[i];
		}
		if(s1[i] == 'a' || s1[i] == 'e' || s1[i] == 'i' || s1[i] == 'o' || s1[i] == 'u'){
			s2[j++] = s1[i];
		}
	}
	printf("%s\n", s2);
}
int main(){
	char s1[100000], s2[100000];
	gets(s1);
	vowels(s1, s2);
	return 0;
} 
发布了84 篇原创文章 · 获赞 97 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/wyatt007/article/details/103741130