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

题目链接http://codeup.cn/problem.php?cid=100000570&pid=1

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

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

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

样例输入
CLanguage

样例输出
auae

代码

#include<stdio.h>
#include<string.h>


	void vowels(char s1[], char s2[]){
		int n = strlen(s1);
		int j = 0;
		for(int i = 0; i < n; i ++){
			switch (s1[i]){
				case 'a': s2[j++] = 'a'; break;
				case 'e': s2[j++] = 'e'; break;
				case 'i': s2[j++] = 'i'; break;
				case 'o': s2[j++] = 'o'; break;
				case 'u': s2[j++] = 'u'; break;
				case 'A': s2[j++] = 'A'; break;
				case 'E': s2[j++] = 'E'; break;
				case 'I': s2[j++] = 'I'; break;
				case 'O': s2[j++] = 'O'; break;
				case 'U': s2[j++] = 'U'; break;
				default: break;
			}
		}
	}

	int main() {
		char s1[20] = {0}, s2[20] = {0};        //注意:初始化,不能先定义再给它赋值,那样相当于只赋值了s1[20]
		gets(s1);									
		vowels(s1, s2); 						//若出现 烫烫烫烫烫烫烫,vs中未初始化的栈空间用0xCC填充,未初始化的堆空间用0xCD填充。
		puts(s2);								//而0xCCCC和0xCDCD在中文GB2312编码中分别对应“烫”字和“屯”字。
		return 0;								//解决方法 1>.给数组初始化(本题用) 2>.加结束字符 s2[j]='\0'
	}
发布了75 篇原创文章 · 获赞 1 · 访问量 2097

猜你喜欢

转载自blog.csdn.net/Rhao999/article/details/103872727