♝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日

悬赏问题

  • ¥15 各位请问平行检验趋势图这样要怎么调整?说标准差差异太大了
  • ¥15 delphi webbrowser组件网页下拉菜单自动选择问题
  • ¥15 wpf界面一直接收PLC给过来的信号,导致UI界面操作起来会卡顿
  • ¥15 init i2c:2 freq:100000[MAIXPY]: find ov2640[MAIXPY]: find ov sensor是main文件哪里有问题吗
  • ¥15 运动想象脑电信号数据集.vhdr
  • ¥15 三因素重复测量数据R语句编写,不存在交互作用
  • ¥15 微信会员卡等级和折扣规则
  • ¥15 微信公众平台自制会员卡可以通过收款码收款码收款进行自动积分吗
  • ¥15 随身WiFi网络灯亮但是没有网络,如何解决?
  • ¥15 gdf格式的脑电数据如何处理matlab