c语言中同时为两个数组排序

1、

复制代码
#include <stdio.h>
#include <string.h>

#define NUMBER 5
#define NAME_LEN 64

void swap_int(int *x, int *y)
{
    int tmp = *x;
    *x = *y;
    *y = tmp;
}

void swap_str(char *s1, char *s2) //字符串的交换程序 
{
    char tmp[NAME_LEN];
    strcpy(tmp, s1);
    strcpy(s1, s2);
    strcpy(s2, tmp);
}

void sort(int x[], char y[][NAME_LEN], int n)
{
    int i, j;
    for(i = 0; i < n - 1; i++)
    {
        for(j = n - 1; j > i; j--)
        {
            if(x[j - 1] > x[j])
            {
                swap_int(&x[j - 1], &x[j]);
                swap_str(y[j - 1], y[j]);
            }
        }
    }
}

int main(void)
{
    int i;
    int height[] = {178,175,173,165, 179};
    char name[][NAME_LEN] = {"Sato","Sanata","Takao","Mike","Masaki"};
    
    for(i = 0; i < NUMBER; i++)
        printf("NO-%d: %-8s %3d\n", i + 1, name[i], height[i]);
    sort(height, name, NUMBER);
    puts("\n==================\n");
    for(i = 0; i < NUMBER; i++)
        printf("NO-%d: %-8s %3d\n", i+ 1, name[i], height[i]);
    return 0; 
}
复制代码

 

posted @   小鲨鱼2018  阅读(588)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示