《算法笔记》2.6小节——C/C++快速入门->函数
A 习题7-5 字符串逆序存放
题目描述
写一个函数将一个字符串按反序存放。在主函数中输入一个字符串,通过调用该函数,得到该字符串按反序存放后的字符串,并输出。
输入
一行字符串。
输出
输入字符串反序存放后的字符串。单独占一行。
样例输入
abcd
样例输出
dcba
提示
strlen(s1):计算s1字符串内的字符数(包括\0)
代码:
#include<stdio.h>
#include<string.h>
int turn(char a[10],int i){
for(i--;i>=0;i--){
printf("%c",a[i]);
}
}
int main(void){
char a[10];
int i=0;
gets(a);
i=strlen(a);
turn(a,i);
return 0;
}
B 习题7-7 复制字符串中的元音字母
题目描述
写一个函数,将一个字符串中的元音字母复制到另一个字符串中。在主函数中输入一个字符串,通过调用该函数,得到一个有该字符串中的元音字母组成的一个字符串,并输出。
输入
一个字符串(一行字符)。
输出
该字符串所有元音字母构成的字符串。行尾换行。
样例输入
CLanguage
样例输出
auae
提示
可以采用如下函数原型
void vowels(char s1[], char s2[]);
代码:
#include<stdio.h>
#include<string.h>
void vowels(char s1[], char s2[]){
int i=0,j=0;
while(s1[i]!='\0'){
for(j=0;j<=4;j++){
if(s1[i]==s2[j]){
printf("%c",s1[i]);
}
}
i++;
}
}
int main(void){
char a[50],b[5]={'a','e','i','o','u'};
scanf("%s",a);
vowels(a,b);
return 0;
}