| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1588 人关注过本帖
标题:初学者,一题目打了很久,有点绕
只看楼主 加入收藏
AM01发
Rank: 1
等 级:新手上路
帖 子:6
专家分:4
注 册:2018-10-10
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:6 
初学者,一题目打了很久,有点绕
题目:写一个函数,将一个字符串中的元音字母(AOEIUVaoeiuv)复制到另一个字符串中,然后输出
以下是我写的代码:
#include<stdio.h>
void fuzhi(char buf[])
{
    char uf,ioi[100]={'\0'};
    int i,x;
    for (i=0,x=0;buf[i]!='\0';x++)
    {
        switch (buf[i])
        {
            case 'A':
                uf=buf[i];
                break;
            case 'a':
                uf=buf[i];
                break;
            case 'O':
                uf=buf[i];
                break;
            case 'o':
                uf=buf[i];
                break;
            case 'E':
                uf=buf[i];
                break;
            case 'e':
                uf=buf[i];
                break;
            case 'I':
                uf=buf[i];
                break;
            case 'i':
                uf=buf[i];
                break;
            case 'U':
                uf=buf[i];
                break;
            case 'u':
                uf=buf[i];
                break;
            case 'V':
                uf=buf[i];
                break;
            case 'v':
                uf=buf[i];
                break;
            default:uf=' ';
        }ioi[x]=uf;
    }
    printf("%s",ioi);        
}
void main(void)
{
    char str[100];
    printf("请输入一个字符串:\t\n");
    gets(str);
    printf("%s\t\n",str);
    fuzhi(str);

}
搜索更多相关主题的帖子: char case break printf str 
2018-10-24 11:00
grmmylbs
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:54
帖 子:1409
专家分:5845
注 册:2016-2-14
收藏
得分:5 
i没有自增
2018-10-24 11:33
Tomorrw_I
Rank: 10Rank: 10Rank: 10
等 级:禁止访问
威 望:6
帖 子:406
专家分:1712
注 册:2018-10-16
收藏
得分:5 
    for (i=0,x=0;buf[i]!='\0';x++)
 

楼主,结合楼上的哥们的回答,回答我下!
为什么不只用一个i变量?

学C有用吗?
学C++有前途吗?
数据库有必要学吗?
……
别问,你还什么都不会,学就对了
……
2018-10-24 12:28
吹水佬
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:451
帖 子:10607
专家分:43186
注 册:2014-5-20
收藏
得分:10 
#include <stdio.h>

char *fuzhi(char buf[], char out[], char av[])
{
    int i,j=0;
    for (i=0; buf[i]; ++i)
    {
        if (av[buf[i]])
            out[j++] = buf[i];
    }
    out[j] = '\0';
    return out;
}

void main(void)
{
    char *v="AOEIUVaoeiuv";
    char av[128]={0};
    char str[100];
    char out[100];
    int i;
    for (i=0; v[i]; ++i)
        av[v[i]] = 1;
    printf("请输入一个字符串:");
    gets(str);
    printf("%s\n", fuzhi(str,out,av));
}
2018-10-24 14:55
AM01发
Rank: 1
等 级:新手上路
帖 子:6
专家分:4
注 册:2018-10-10
收藏
得分:0 
回复 3楼 Tomorrw_I
抱歉,没有考虑到,谢谢
2018-10-24 18:42
AM01发
Rank: 1
等 级:新手上路
帖 子:6
专家分:4
注 册:2018-10-10
收藏
得分:0 
回复 4楼 吹水佬
谢谢,很好用,但是有点不理解
2018-10-24 20:07
Tomorrw_I
Rank: 10Rank: 10Rank: 10
等 级:禁止访问
威 望:6
帖 子:406
专家分:1712
注 册:2018-10-16
收藏
得分:0 
回复 6楼 AM01发
具体哪里不懂,继续在下面问

学C有用吗?
学C++有前途吗?
数据库有必要学吗?
……
别问,你还什么都不会,学就对了
……
2018-10-25 12:31
快速回复:初学者,一题目打了很久,有点绕
数据加载中...
 
   



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

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