无妄 2022-12-20 17:35 采纳率: 25%
浏览 23
已结题

数组与函数,大学C语言编程

从键盘输入三个字符串,存放在3*100的二维数组中,输出最大的字符串,例如:sun,zhang,wang输出:zhang。 我不懂什么意思,各位大老我看看

  • 写回答

1条回答 默认 最新

  • 语言-逆行者 2022-12-20 18:01
    关注
    
    
    #include<stdio.h>
    #include<string.h>
    #define N  3
    int main()
    {
        char a[N][100],b[100];//定义一个二维数组来存放字符串
        int min=0;//存放最小字符串所在的位置
        for(int i=0;i<N;i++)
        {
            scanf("%s",&a[i]); //录入字符串
        }
        for(int i=0;i<N;i++)//选择排序   将这几个字符串由小到大排列
        {
            min=i;
            for(int j=i+1;j<N;j++)
            {
                if(strcmp(a[min],a[j])>0)
                {
                    min=j;//找出本次循环最小的一个
                }
            }
            if(min!=i)//放到开头
            {
                strcpy(b,a[min]);
                strcpy(a[min],a[i]);
                strcpy(a[i],b);
            }
            printf("%s\n",&a[N-1]);
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

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