左嘉


私信TA

用户名:zuojia

访问量:88580

签 名:

Jz

等  级
排  名 5
经  验 34534
参赛次数 226
文章发表 72
年  龄 40
在职情况 在职
学  校 北京理工大学
专  业

  自我简介:

解题思路:这里输入字符串中的字符,一般是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;
	
	 
}
   
}
认为这个 最简单
2019-09-16 16:38:22
#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;
}

一个自认为比较好理解的
2019-05-25 17:46:09
#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;
		}
		
	}
}
2019-04-10 14:48:19
if('\0')是假的意思吗?和if(0)一样吗?
2019-03-31 19:02:47
#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
2019-03-21 09:54:28
#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]);
	}
2018-12-04 19:47:22
cool
2018-10-05 20:22:14