蔡崇远 2019-09-07 00:20 采纳率: 0%
浏览 262

字符数组内元素的排序问题?

图片说明
请问有大佬能帮忙给出这个题目的代码吗,帮帮跨考的孩子吧


#include <stdio.h>
#include <stdlib.h>

int main()
{
    char a[][4] = {{'h', 'e', 'l',' '}, {'a', 'b', 'r',' '}, {'u', 'I', 'M',' '}, {'u', 'N', 'G',' '}};
    int i, j;
    for(i = 0; i < 4; i++)
    {
        for(j = 0; j < 4; j++)
        {
            printf("%c\t", a[i][j]);
        }
        printf("\n");
    }
    printf("\n");
    int p, q;          //p为行,q为列
    for(q = 0; q < 4; q++)
    {
        for(p = 0; p < 4; p++)
        {
            if(a[p][q] > a[p + 1][q])
            {
                char temp = a[p][q];
                a[p][q] = a[p + 1][q];
                a[ p + 1][q] = temp;
            }
        }
    }
    for(i = 0; i < 4; i++)
    {
        for(j = 0; j < 4; j++)
        {
            printf("%c\t", a[i][j]);
        }
        printf("\n");
    }
    return 0;
}

  • 写回答

1条回答 默认 最新

  • QiQaWgYu 2019-09-07 10:56
    关注
    #include <stdio.h>
    #include <stdlib.h>
    #include<string.h>
    void swap(char* s1, char* s2, int n) {
        int i;
        for(i=0;i<n-1;i++)
            if (s1[i] != s2[i]) {
                s1[n - 1] = s1[i];
                s1[i] = s2[i];
                s2[i] = s1[n - 1];
            }
        s1[n - 1] = ' ';
    }
    int main() {
        char a[][4] = { {'h', 'e', 'l',' '}, {'a', 'b', 'r',' '}, {'u', 'I', 'M',' '}, {'u', 'N', 'G',' '} };
        int i, j;
        for (i = 0; i < 4; i++)
        {
            for (j = 0; j < 4; j++)
            {
                printf("%c\t", a[i][j]);
            }
            printf("\n");
        }
        printf("\n");
        //比较与交换
        for (i = 0; i < 4; i++)
            for (j = i + 1; j < 4; j++) 
                if (strcmp(a[i], a[j]) > 0)
                    swap(a[i], a[j], 4);
    
        for (i = 0; i < 4; i++)
        {
            for (j = 0; j < 4; j++)
            {
                printf("%c\t", a[i][j]);
            }
            printf("\n");
        }
        return 0;
    }
    

    同跨考,加油

    评论

报告相同问题?

悬赏问题

  • ¥15 Stata 面板数据模型选择
  • ¥20 idea运行测试代码报错问题
  • ¥15 网络监控:网络故障告警通知
  • ¥15 django项目运行报编码错误
  • ¥15 请问这个是什么意思?
  • ¥15 STM32驱动继电器
  • ¥15 Windows server update services
  • ¥15 关于#c语言#的问题:我现在在做一个墨水屏设计,2.9英寸的小屏怎么换4.2英寸大屏
  • ¥15 模糊pid与pid仿真结果几乎一样
  • ¥15 java的GUI的运用