VC驿站

 找回密码
 加入驿站

QQ登录

只需一步,快速开始

有编程疑问吗?还请到提问专区发帖提问!
搜索
查看: 504|回复: 3

[求助] 求大神解答

[复制链接]
03_avatar_middle
在线会员 Allurelove 发表于 2017-12-22 11:34:48 | 显示全部楼层 |阅读模式
3驿站币
从键盘输入字符串,字符串中含大写字母,小写字母,及其它字符。编写程序将大写字母、小写字母、其它字符按顺序分离并分别保存在3个字符数组中,原字符数组保持不变。然后对3个字符数组中的字符按asci码升序排序。要求如下:
(1)用3个函数分别实现大写字母、小写字母及其它字符的分离,用1个函数实现字符的排序;
(2)函数形式参数为指向字符的指针变量;
(3)主函数中调用函数实现各种字符的分离及排序并显示原字符及3类分离排序后的字符。





上一篇:跪求各位大侠,有没有离线人脸识别或者认证识别的资料,求指点迷津!
下一篇:请问这个错在哪里?

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

51_avatar_middle
online_admins Syc 发表于 2017-12-22 11:57:36 | 显示全部楼层
这小题目多好啊~自己练练手绝对有提高!

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复

使用道具 举报

75_avatar_middle
在线会员 besteast 发表于 2017-12-25 00:02:21 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复

使用道具 举报

34_avatar_middle
在线会员 zjminsz 发表于 2017-12-26 20:44:33 | 显示全部楼层
char* GetUpperChars(const char *source, char *upperChars)
{
        if(!source || !upperChars) return upperChars;
        char *p = upperChars;
        char c = *source++;
        while(c)
        {
                if(c >= 'A' && c <= 'Z') *p++ = c;
                c = *source++;
        }
        *p = 0;
        return upperChars;
}

char* GetLowerChars(const char *source, char *lowerChars)
{
        char *p = lowerChars;
        char c = *source++;
        while(c)
        {
                if(c >= 'a' && c <= 'z') *p++ = c;
                c = *source++;
        }
        *p = 0;
        return lowerChars;
}

char* GetOtherChars(const char *source, char *otherChars)
{
        char *p = otherChars;
        char c = *source++;
        while(c)
        {
                if(c < 'A' || c > 'z') *p++ = c;
                c = *source++;
        }
        *p = 0;
        return otherChars;
}

void SortChars(char *str)
{
        if(!str) return;
        int len = strlen(str);
        char c = 0;

        // bubble sort
        bool isSorted = false;
        for(int i = len-1; i > 0 && !isSorted; --i)
        {
                isSorted = true;
                for(int j = 0; j < i; ++j)
                {
                        if(str[j+1] < str[j]) // swap
                        {
                                isSorted = false;
                                c = str[j+1];
                                str[j+1] = str[j];
                                str[j] = c;
                        }
                }
        }
}

void TestCharOperate()
{
#define CHAR_MAX_BUF 8192
        char buf[CHAR_MAX_BUF] = {0};
        char uppers[CHAR_MAX_BUF] = {0};
        char lowers[CHAR_MAX_BUF] = {0};
        char others[CHAR_MAX_BUF] = {0};
        scanf("%s", buf);
        GetUpperChars(buf, uppers);
        GetLowerChars(buf, lowers);
        GetOtherChars(buf, others);
        SortChars(uppers);
        SortChars(lowers);
        SortChars(others);
        printf("input chars : [%s]\n", buf);
        printf("upper chars : [%s]\n", uppers);
        printf("lower chars : [%s]\n", lowers);
        printf("other chars : [%s]\n", others);
}

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 加入驿站 qq_login

本版积分规则

QQ|小黑屋|手机版|VC驿站 ( 辽ICP备09019393号tongdun|网站地图wx_jqr

GMT+8, 2018-12-11 05:07

Powered by Discuz! X3.4

© 2009-2018 cctry.com

快速回复 返回顶部 返回列表