解题思路:这里输入字符串中的字符,一般是ASCII字符,从0到255,范围不大;采用查表v[256]的方法,例如'a'是元音字母,那么v['a']就设置为非零,if(v['a'])即可找到'a'并存入另一用来输出的字符串。
注意事项:这里的元音字母可以不包括相应的大写字母。
参考代码:
#include<stdio.h> #include<string.h> #define N 1000 int main(){ char *vowel(char *str1,const char *str2); char s1[N],s2[N]; gets(s2);//输入字符串 puts(vowel(s1,s2));//找到元音字母并输出 return 0; } char *vowel(char *str1,const char *str2){ int i,j,len; char v[256];//ASCII码表 memset(v,'\0',sizeof(v));//初始化 v['a']=v['e']=v['i']=v['o']=v['u']=' ';//特殊位置为非零 len=strlen(str2); for(i=0,j=0;i<len;i++) if(v[str2[i]])//用str2[i]查表找到元音字母 str1[j++]=str2[i];//存入另一字符串 str1[j]='\0';//字符串结尾 return str1; }
0.0分
43 人评分
#include <stdio.h> #include <string.h> void strf(char a[]); int main() { char a[1000]; scanf("%[^\n]",a); strf(a); } void strf(char a[]) { int b,i,j,t; char z[5]={'a','e','i','o','u'}; b=strlen(a); for(j=0;j<6;j++) { for(i=0;i<b;i++) { if(a[i]==z[j]) { printf("%c",a[i]); } } i=0; } } 认为这个 最简单
#include <stdio.h> #include <string.h> void Select(char str[], char str2[]) { int i, j, len; len = strlen(str); for(i = 0, j = 0; i < len; i++) { if(str[i] == 'a' || str[i] == 'e' || str[i] == 'i' || str[i] == 'o' || str[i] == 'u') str2[j++] = str[i]; } str2[j] = '\0'; } int main(void) { char a[50], b[50]; gets(a); Select(a,b); puts(b); return 0; } 一个自认为比较好理解的
#include <stdio.h> #include<string.h> int chazhao(char a[]); char a[100],b[100]; int main() { gets(a); chazhao(a); puts(b); } int chazhao(char a[]) { int n,m=0; n=strlen(a); for(int i=0;i<n;i++) { switch(a[i]) { case 'a': case 'e': case 'i': case 'o': case 'u': b[m]=a[i]; m++; break; } } }
#include<stdio.h> #include<string.h> int main() { char s[1000]; gets(s); char *p_s = s ; int len = strlen(s); //printf("%d",len); // printf("%c",*p_s); char t[1000]; char *p_t = t ; int i ; for(i = 0 ; i < len ; i ++) { switch(*p_s) { case 'a' :*p_t = *p_s;p_t++;break ; case 'e' :*p_t = *p_s;p_t++;break ; case 'o' :*p_t = *p_s;p_t++;break ; case 'i' :*p_t = *p_s;p_t++;break ; case 'u' :*p_t = *p_s;p_t++;break ; case 'A' :*p_t = *p_s;p_t++;break
#include<stdio.h> #include<math.h> #include<string.h> int main() { char a[100],b[100]; int n,i,j=0; gets(a); n=strlen(a); for(i=0;i<n;i++)//aeiou { if(a[i]=='a'&&a[i]=='e'&&a[i]=='i'&&a[i]=='o'&&a[i]=='u'&&a[i]=='A'&&a[i]=='E'&&a[i]=='I'&&a[i]=='O'&&a[i]=='U') { b[j]=a[i]; j++; } } n=strlen(b); for(i=0;i<n;i++) { if(b[i]=='a'&&b[i]=='A') printf("%c",b[i]); } for(i=0;i<n;i++) { if(b[i]=='e'&&b[i]=='E') printf("%c",b[i]); } for(i=0;i<n;i++) { if(b[i]=='I'&&b[i]=='i') printf("%c",b[i]); } for(i=0;i<n;i++) { if(b[i]=='O'&&b[i]=='o') printf("%c",b[i]); }
C语言训练-计算1~N之间所有奇数之和 (C语言代码)浏览:689 |
三角形 (C++代码)记忆化搜索浏览:1317 |
C语言程序设计教程(第三版)课后习题8.5 (C语言代码)浏览:600 |
蛇行矩阵 (C语言代码)浏览:606 |
C语言训练-自由落体问题 (C语言代码)浏览:650 |
sizeof的大作用 (C语言代码)浏览:1591 |
简单的a+b (C语言代码)浏览:457 |
C语言训练-字符串正反连接 (C语言代码)浏览:653 |
简单的a+b (C语言代码)浏览:672 |
快速排序算法1浏览:996 |
小刘 2019-11-10 16:08:07 |
你很厉害(佩服)