文士心 2016-05-19 10:18 采纳率: 100%
浏览 1157
已采纳

VS2013编译器关于c与语言的用指针排序

// 擂台法.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include
void leitai(int a, int b);
#define N 5
int _tmain(int argc, _TCHAR
argv[])
{
int a[N] = { 5, 6, 1, 3, 9 };
leitai(a, N);
for (int i = 0; i < N; i++)
printf("%d\n", a[i]);
system("pause");
return 0;
}
void leitai(int *a, int b)
{
for (int i = 0; i < N - 1; i++)
{
int t = *(a + i), j, k;
for (j = i; j < N; j++)
if (t < *(a + i + j))
k = j;
if (k != i)
{
int s = *(a + i);
*(a + i) = *(a + i + j);
*(a + i + j) = s;
}
}
}

  • 写回答

2条回答 默认 最新

  • 尚书左仆射 2016-05-19 10:52
    关注

    1.函数声明处应该为:void leitai(int *a, int b);
    2.排序函数应如下:
    void leitai(int *a, int b)
    {
    for (int i = 0; i < N - 1; i++)
    {
    int t = *(a + i), j, k = i;
    for (j = 1; j < N - i - 1; j++)
    {
    if (t < *(a + i + j))
    {
    k = i + j;
    t = *(a + i + j);
    }
    }
    if (k != i)
    {
    int s = *(a + i);
    *(a + i) = *(a + i + j);
    *(a + i + j) = s;
    }
    }
    }

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

报告相同问题?

悬赏问题

  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料