| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 7369 人关注过本帖
标题:编写一个函数,将字符串中的元音字母输出。有没有高效率的代码?
只看楼主 加入收藏
youbin2014
Rank: 1
等 级:新手上路
帖 子:45
专家分:6
注 册:2015-5-5
结帖率:100%
收藏
已结贴  问题点数:10 回复次数:4 
编写一个函数,将字符串中的元音字母输出。有没有高效率的代码?
想问问大神们有没有高效一点的代码?
我的:
/********************************************************************
编写一个函数,将字符串中的元音字母输出。例如:字符串为“boy and girl”
,则输出为:oai。
*********************************************************************/

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

void find(char *a,char *b)
{
    int i = 0,j = 0;
    while(a[i] != '\0')
    {
        if(a[i] == 'a' || a[i] == 'A' || a[i] == 'e' || a[i] == 'E' || a[i] == 'i' || a[i] == 'I' || a[i] == 'o' || a[i] == 'O' || a[i] == 'u' || a[i] == 'U')
        {
            b[j] = a[i];
            j++;
        }
            i++;
    }
    b[j] = '\0';
}

int main(void)
{
    char a[1024];
    char b[300];
    int len,i;

    printf("please input the string:");
    scanf("%s",a);
   
    find(a,b);
    len = strlen(b);
    for(i = 0;i < len + 1;i++)
        printf("%c",b[i]);
    printf("\n");
    return 0;
}

搜索更多相关主题的帖子: include 字符串 字母 
2016-09-21 21:45
ehszt
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:40
帖 子:1745
专家分:3216
注 册:2015-12-2
收藏
得分:0 
我觉得已经很高效了。
指出一处错误scanf("%s",a);不能输入空格
所以输入boys and girls只能输出o
要避免这一点可用gets。
2016-09-21 22:08
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9025
专家分:54030
注 册:2011-1-18
收藏
得分:5 
inline _Bool IsVowel( unsigned char c )
{
    static const _Bool map[256] = { ......... };
    return map[c];
}
类似于这样,也可以写成宏形式
2016-09-21 22:48
youbin2014
Rank: 1
等 级:新手上路
帖 子:45
专家分:6
注 册:2015-5-5
收藏
得分:0 
回复 2楼 ehszt
嗯哪,谢谢你指出这个错误,我都没有注意到,

新手坚持每天写一点短短的代码,也许很幼稚园,但是,坚持总比不写强,高手可以绕道。
2016-09-22 20:24
youbin2014
Rank: 1
等 级:新手上路
帖 子:45
专家分:6
注 册:2015-5-5
收藏
得分:0 
回复 3楼 rjsp
写成内联形式或者宏定义,这个方式好像效率比C代码来的效率高,谢谢大神。

新手坚持每天写一点短短的代码,也许很幼稚园,但是,坚持总比不写强,高手可以绕道。
2016-09-22 20:25
快速回复:编写一个函数,将字符串中的元音字母输出。有没有高效率的代码?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017232 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved