C语言问题,为什么显示答案错误? 5
题目描述写一个函数,将一个字符串中的元音字母复制到另一个字符串中。在主函数中输入一个字符串,通过调用该函数,得到一个有该字符串中的元音字母组成的一个字符串,并输出。输入一...
题目描述
写一个函数,将一个字符串中的元音字母复制到另一个字符串中。在主函数中输入一个字符串,通过调用该函数,得到一个有该字符串中的元音字母组成的一个字符串,并输出。
输入
一个字符串(一行字符)。
输出
该字符串所有元音字母构成的字符串。行尾换行。
样例输入
CLanguage
样例输出
auae
提示:可以采用如下函数原型
void vowels(char s1[], char s2[]);
我的代码如下:
#include <stdio.h>
void vowels(char s1[], char s2[]){
int i,m;
m = 0;
for(i = 0; i < strlen(s1); i++){
if(s1[i] == 97 || s1[i] == 101 || s1[i] == 105 || s1[i] == 111 || s1[i] ==117){
s2[m] = s1[i];
m++;
}
}
s2[m+1] = '\0';
}
int main(){
char str1[10] ;
char str2[10] ;
scanf("%s", str1);
vowels(str1,str2);
printf("%s\n", str2);
return 0;
} 展开
写一个函数,将一个字符串中的元音字母复制到另一个字符串中。在主函数中输入一个字符串,通过调用该函数,得到一个有该字符串中的元音字母组成的一个字符串,并输出。
输入
一个字符串(一行字符)。
输出
该字符串所有元音字母构成的字符串。行尾换行。
样例输入
CLanguage
样例输出
auae
提示:可以采用如下函数原型
void vowels(char s1[], char s2[]);
我的代码如下:
#include <stdio.h>
void vowels(char s1[], char s2[]){
int i,m;
m = 0;
for(i = 0; i < strlen(s1); i++){
if(s1[i] == 97 || s1[i] == 101 || s1[i] == 105 || s1[i] == 111 || s1[i] ==117){
s2[m] = s1[i];
m++;
}
}
s2[m+1] = '\0';
}
int main(){
char str1[10] ;
char str2[10] ;
scanf("%s", str1);
vowels(str1,str2);
printf("%s\n", str2);
return 0;
} 展开
1个回答
展开全部
#include <stdio.h>
#include <string.h>
void fun(char s1[], char s2[]) {
char *p = NULL;
int i = 0, j = 0;
int q = 0;
p = s1;
for (; i < strlen(s1); i++) {
if (*p == 'a' || *p == 'A' || *p == 'e' || *p == 'E' || *p == 'i'
|| *p == 'I' || *p == 'o' || *p == 'O' || *p == 'u'
|| *p == 'U') {
s2[j] = *p;
j++;
}
p++;
}
for (q = 0; q < j; q++)
printf("%c", s2[q]);
}
int main(void) {
char s1[] = { "abecdefuuA" };
char s2[10];
fun(s1, s2);
return 0;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询