| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 4204 人关注过本帖
标题:从键盘输入一个字符串a,并在串a中的最大元素后面插入字符串b(b[]=“ab”) ...
只看楼主 加入收藏
寜吖
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2020-3-27
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:13 
从键盘输入一个字符串a,并在串a中的最大元素后面插入字符串b(b[]=“ab”),输出字符串a, 解题思路
搜索更多相关主题的帖子: 解题 字符串 插入 思路 输出 
2020-03-27 11:33
叶纤
Rank: 8Rank: 8
等 级:禁止访问
威 望:1
帖 子:658
专家分:848
注 册:2019-11-22
收藏
得分:5 
strcat()这个函数你看看资料

把学习时间浪费在混坛上是傻瓜行为,更何况自己的水平连一两都没到。
2020-03-27 11:49
forever74
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:CC
等 级:版主
威 望:58
帖 子:1705
专家分:4345
注 册:2007-12-27
收藏
得分:5 
还有strcpy()
有备无患哦

对宇宙最严谨的描述应该就是宇宙其实是不严谨的
2020-03-27 12:13
lin5161678
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:45
帖 子:1136
专家分:3729
注 册:2011-12-3
收藏
得分:5 
查找最大元素
strcat(b 最大元素下标+1)
strcat(a b)
puts a

https://zh.
2020-03-27 15:22
forever74
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:CC
等 级:版主
威 望:58
帖 子:1705
专家分:4345
注 册:2007-12-27
收藏
得分:0 
那块儿特意写了b那样初始化,我有点怕它不够长...

对宇宙最严谨的描述应该就是宇宙其实是不严谨的
2020-03-27 15:35
lin5161678
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:45
帖 子:1136
专家分:3729
注 册:2011-12-3
收藏
得分:0 
那就准备一个 数组c 存b和a后缀

https://zh.
2020-03-27 15:37
forever74
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:CC
等 级:版主
威 望:58
帖 子:1705
专家分:4345
注 册:2007-12-27
收藏
得分:0 
嗯,我也是这么想的。

对宇宙最严谨的描述应该就是宇宙其实是不严谨的
2020-03-27 15:39
纯蓝之刃
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:76
帖 子:570
专家分:3727
注 册:2019-7-29
收藏
得分:5 
程序代码:
#include<stdio.h>
#include<string.h>

int cmpfunc (const void * a, const void * b)
{
   return ( *(char*)b - *(char*)a );
}

int main( )
{
    //char a[20]="rghnycghyjk",b[]="ab",c[25];
    char a[20],b[]="ab",c[25];
    char *ret;

    puts(a);
    //puts(b);

    memcpy(c,a,sizeof(a));
    qsort(c, strlen(c), sizeof(char), cmpfunc);

    //printf("c=%s\n",c);
    ret=strchr(a,c[0]);
    strcpy(c,ret+1);
    strcpy(ret+1,b);
    strcpy(ret+1+strlen(b),c);

    printf("a=%s\n",a);

    return 0;
}

一沙一世界,一花一天堂。无限掌中置,刹那成永恒。
2020-03-27 16:17
lin5161678
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:45
帖 子:1136
专家分:3729
注 册:2011-12-3
收藏
得分:0 
以下是引用纯蓝之刃在2020-3-27 16:17:27的发言:

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

int cmpfunc (const void * a, const void * b)
{
   return ( *(char*)b - *(char*)a );
}

int main( )
{
    //char a[20]="rghnycghyjk",b[]="ab",c[25];
    char a[20],b[]="ab",c[25];
    char *ret;

    puts(a);
    //puts(b);

    memcpy(c,a,sizeof(a));
    qsort(c, strlen(c), sizeof(char), cmpfunc);

    //printf("c=%s\n",c);
    ret=strchr(a,c[0]);
    strcpy(c,ret+1);
    strcpy(ret+1,b);
    strcpy(ret+1+strlen(b),c);

    printf("a=%s\n",a);

    return 0;
}

查找最大值 用排序处理 太笨重了
直接写也只是 O(n) 复杂度
qsort O(nlogn) 不值得


https://zh.
2020-03-27 16:21
lin5161678
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:45
帖 子:1136
专家分:3729
注 册:2011-12-3
收藏
得分:0 
另外 有疑问
是否同时存在多个最大值
如果存在多个最大值怎么插入
插入第一个最大值
插入最后一个最大值
插入每一个最大值 ??

https://zh.
2020-03-27 17:05
快速回复:从键盘输入一个字符串a,并在串a中的最大元素后面插入字符串b(b[]=“ ...
数据加载中...
 
   



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

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