前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >字符数组之字符插入该怎么破(C语言)

字符数组之字符插入该怎么破(C语言)

作者头像
小Bob来啦
发布2020-12-16 14:33:21
2.3K0
发布2020-12-16 14:33:21
举报
文章被收录于专栏:用户8057608的专栏
昨天做了字符数组的题,踩了几个坑,今天先为大家分享一题:

字符插入

任务描述

题目描述:输入两个字符串a和b,将b串中的最大字符插入到a串中最小字符后面。

编程要求

输入

输入一段文字

输出

输入两个字符串a和b。

测试说明

样例输入:

MynameisAmy

MynameisJane

样例输出:

MynameisAymy

提示:

字符串长度不超过100

解题思路及代码如下:

代码语言:javascript
复制
#include <stdio.h>
#include <string.h>//调用字符函数
#define m 100
#define c 100
int main() {
    char a[m], b[c];
    int i, n, k, max, min, n1, n2;//这里可以用注释写明变量的作用哦

以上为写明要调用的函数库和定义变量和数组部分

代码语言:javascript
复制
gets(a);
gets(b);//输入字符串
    i = strlen(a);//计算字符串长度
    min = a[0];
    for (k = 0; k < i; k++) {
        if (min > a[k]) {
            min = a[k];
            n1 = k;
        }
    }//查找最小字符
    i = strlen(b);
    max = b[0];
    for (k = 0; k < i; k++) {
        if (max < b[k]) {
            max = b[k];
            n2 = k;
        }
    }//查找最大字符

以上为数组输入字符串和用for遍历字符串以查找最小字符和最大字符并将它们的数组下标赋值给另一个变量。

注意:在执行for循环时切记不可将min,max的初赋值写进for循环

To:这里也可以用for将两个查找字符合并起来

代码语言:javascript
复制
k = a[n1 + 1];
    a[n1 + 1] = b[n2];
    for (n = (i = strlen(a)); n > n1 + 1; n--) {
        a[n + 1] = a[n];
    }
    a[n1 + 2] = k;
    puts(a);
    return 0;
}

最后便是将最小字符插入到最大字符后面啦。

注意:切记不可将数组下标弄错

运行结果如下:

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-03-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 程序员Bob 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 任务描述
  • 编程要求
  • 测试说明
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档