忧默的小男孩 2022-02-21 15:45 采纳率: 94.4%
浏览 57
已结题

帮我看看我的代码问题在哪里吧?

帮我看看吧,做到数组的题之后一个都没有输出成功过。代码啥也输出不出来。

img

img

img

img


#include <stdio.h>
#include <string.h>
int main(void)
{
    /*********Begin*********/
    int i,j,t,max,min;
    char a[100],b[100];
      scanf("%s\n",&a[100]);
      scanf("%s\n",&b[100]);

      for(i=0;i<100;i++)  /*找出b[100]数组中最大值,并标记其下标*/
      {
        if(b[i]!='\0')
        {
          if(b[i]>t)
          {
            t=b[i];
            max=i;
          }
        }
      }


      for(i=0;i<100;i++)   /*找出a[100]中数组最小值,并标记其下标*/
      {
        if(a[i]!='\0')
        {
          if(a[i]<t)
          {
            t=a[i];
            min=i;
          }
        }
      }
      
      for(j=100;j>min+1;j--)    /*将a[100]数组中min下标以后的字符向后顺移一位*/
        a[j]=a[j-1];

       a[min+1]=b[max];         /*将b[100]中的最大值赋给a[100]中的最小值的后一位*/

       printf("%s",a[100]);     /*输出a[100]数组*/


    /*********End**********/
    return 0;
  • 写回答

3条回答 默认 最新

  • fuill 2022-02-21 17:14
    关注

    解答如下

    #include<stdio.h>
    int main()
    {
        char a[100],b[100];
        gets(a);
        gets(b);
        char max=b[0];
        char min=a[0];
        int j,posmin=0;
        for(j=1; a[j]!='\0'; j++)
        {
            if(a[j]<min)
            {
                min=a[j];
                posmin=j;
            }
        }
        for(j=1; b[j]!='\0'; j++)
        {
            if(b[j]>max)
            {
                max=b[j];
            }
        }
        for(j=0; a[j]!='\0'; j++)
        {
            printf("%c",a[j]);
            if(j==posmin)
            {
                printf("%c",max);
            }
        }
        return 1;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
    1人已打赏
查看更多回答(2条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 2月27日
  • 已采纳回答 2月22日
  • 创建了问题 2月21日