-cfyjbjonn 2019-01-14 17:56 采纳率: 57.1%
浏览 3653
已采纳

c语言,输入6个字符串,求最大串和最小串

输入6个字符串,输出最大串及最小串,如
输入:
hello,world
c
java
c++
#c
cp
运行结果:
最大串:java
最小串:c

以下是我的代码,请问哪里有错,怎么改

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define N 7
#define M 15

int main()
{
    int i,j,changdu[N];
    char *m[M],min[M],max[M];
    printf("input 6 strings:\n");
    for(i = 0; i < 6; i++)
    {
        scanf("%s",&m[i]);
    }
    strcpy(min[M],m[0]);
    strcpy(max[M],m[0]);
    for(i = 0; i < 5;i++)
    {
        changdu[i] = strlen(m[i]);
        for(j = i+1; j < 6 ; j++)
        {
            changdu[j] = strlen(m[j]);
            if(changdu[i] < changdu[j])
            {
                strcpy(max[M] , m[j]);
                strcpy(min[M] , m[i]);

            }
        }
    }
    printf("max string is %s,min is %s",max[M],min[M]);

}


  • 写回答

5条回答 默认 最新

  • 白色一大坨 2019-01-15 10:08
    关注

    各位人家都给分了,稍微耐心点嘛,代码改了一下你看看,基本按照你思路弄的:

    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    #define N 7
    #define M 15
    
    int main()
    {
        int i, j, changdu[N];
        char m[N][M], min[M], max[M];
        int maxlen, minlen;
        printf("input 6 strings:\n");
        for (i = 0; i < 6; i++)
        {
            scanf("%s", &m[i]);
        }
        strcpy(min, m[0]);
        strcpy(max, m[0]);
    
        changdu[0] = strlen(m[0]);
        maxlen = changdu[0];
        minlen = changdu[0];
        for (j = 1; j < 6; j++)
        {
            changdu[j] = strlen(m[j]);
            if (maxlen < changdu[j])
            {
                strcpy(max, m[j]);
                maxlen = changdu[j];
            }
            else if (minlen > changdu[j])
            {
                strcpy(min, m[j]);
                minlen = changdu[j];
            }
        }
    
        printf("max string is %s,min is %s", max, min);
    
    }
    

    执行结果,最长的可不是java是第一行的:
    图片说明

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

悬赏问题

  • ¥30 帮我写一段可以读取LD2450数据并计算距离的Arduino代码
  • ¥15 C#调用python代码(python带有库)
  • ¥15 矩阵加法的规则是两个矩阵中对应位置的数的绝对值进行加和
  • ¥15 活动选择题。最多可以参加几个项目?
  • ¥15 飞机曲面部件如机翼,壁板等具体的孔位模型
  • ¥15 vs2019中数据导出问题
  • ¥20 云服务Linux系统TCP-MSS值修改?
  • ¥20 关于#单片机#的问题:项目:使用模拟iic与ov2640通讯环境:F407问题:读取的ID号总是0xff,自己调了调发现在读从机数据时,SDA线上并未有信号变化(语言-c语言)
  • ¥20 怎么在stm32门禁成品上增加查询记录功能
  • ¥15 Source insight编写代码后使用CCS5.2版本import之后,代码跳到注释行里面