♝149 2021-12-13 21:35 采纳率: 100%
浏览 37
已结题

字符数组,将b串字符最大值输至a串字符最小值之后

问题遇到的现象和发生背景

MynameisAmy
MynameisJane
此输入数组所得结果正确 MynameisAymy
/MynameisAmyxzxca
MynameisJanesdcx
/
此输入数组结果错误,为 MynameisAdmyxzxca
所得到的最大值变成13,即d,而不是y 正确:MynameisAymyxzxca

问题相关代码,请勿粘贴截图

#include <stdio.h>
#include <string.h>
#include<stdlib.h>
int main(void)
{
    /*********Begin*********/
    int i,j,m=0,n=0;
    char a[100],b[100];
    int max=0,min=0; 
    gets(a);
    gets(b);                        //输入得到两个数组 
    m=strlen(a);                     //得到数组a【】的长度,为后加入b【】的最大值铺垫 
    n=strlen(b);
    /*printf("%d\n",m);
        printf("%d\n",n);*/
    for(i=0;i<m;i++){
        if(a[min]>a[i]){
            min=i;                       
        }
    }                                 //得到数组a【】的最小值 
    /*printf("%d\n",min);
    printf("%d\n",i);*/
    for(j=0;j<n;j++){
        if(b[max]<a[j]){
            max=j;
        }
    }                                 //得到数组b【】的最大值
    /*printf("%d\n",max);
        printf("%d\n",b[max]);*/
    
     for(i=m+1;i>min;i--){            //将a【】长度加一 
         a[i]=a[i-1];                   // 将元素往后排 
     } 
     a[i+1]=b[max];                   //循环结束到达a【】,插入b【max】 
     puts(a);
    /*********End**********/
    return 0;
}

```c


/MynameisAmyxzxca
MynameisJanesdcx
/

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

运行结果及报错内容

MynameisAymy
MynameisAdmyxzxca
无报错

我的解答思路和尝试过的方法

改过字符输入方法,改过循环结束条件

我想要达到的结果

MynameisAymyxzxca

  • 写回答

1条回答 默认 最新

  • 五一编程 2021-12-13 21:42
    关注
    
    #include <stdio.h>
    #include <string.h>
    int main(void)
    {
    char a[102],b[101],c[101],amin,bmax;
    int t=0,m=0,j=0;
    scanf("%s",&a);
    scanf("%s",&b);
    amin=a[0];
    bmax=b[0];
    m=strlen(a);
    for(int i=0;a[i]!=’\0’;i++)
    {
    if(amin>a[i])
    {
    amin=a[i];
    t=i;
    }
    }
    for(int i=0;b[i]!=’\0’;i++)
    {
    if(bmax<b[i])
    {
    bmax=b[i];
    }
    }
    
    for(int i=0;i<=t;i++)
    {
        printf("%c",a[i]);
    }
    printf("%c",bmax);
    for(int i=t+1;a[i]!='\0';i++)
    {
        printf("%c",a[i]);
    }
    
    /*********End**********/
    return 0;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 12月21日
  • 已采纳回答 12月13日
  • 创建了问题 12月13日

悬赏问题

  • ¥100 支付宝网页转账系统不识别账号
  • ¥15 基于单片机的靶位控制系统
  • ¥15 AT89C51控制8位八段数码管显示时钟。
  • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
  • ¥15 下图接收小电路,谁知道原理
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测
  • ¥15 ETLCloud 处理json多层级问题