在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問(wèn)答/C/ 我想用C語(yǔ)言的指針和函數(shù)實(shí)現(xiàn)冒泡排序,輸入一就從小到大排序否則就大到。給數(shù)組賦值

我想用C語(yǔ)言的指針和函數(shù)實(shí)現(xiàn)冒泡排序,輸入一就從小到大排序否則就大到。給數(shù)組賦值然后調(diào)用第一個(gè)函數(shù)?

我想用C語(yǔ)言的指針函數(shù)實(shí)現(xiàn)冒泡排序,輸入1從小到大排序否則就大到。
給數(shù)組賦值然后調(diào)用第一個(gè)函數(shù)在主函數(shù)輸入1就進(jìn)入sort函數(shù)進(jìn)行排序,輸入其他數(shù)就進(jìn)入sort2函數(shù)大到小排序。
我想得到主函數(shù)的數(shù)組元素的值但是總是錯(cuò)誤

圖片描述

#include<stdio.h>
#include<stdlib.h>
void sort(int *p, int n)
{
    int i, j, temp;
    for (i = 0; i < n - 1; i++)
    {
        for (j = 0; j < n - i - 1; j++)
        {
            if (*(p + j) > *(p + j + 1)) {
                temp = *(p + j);
                *(p + j) = *(p + j + 1);
                *(p + j + 1) = temp;
            }
        }
    }
}
void sort2(int *p1, int n) {
    int i, j, temp;
    for (i = 0; i < n - 1; i++)
    {
        for (j = 0; j > n - i - 1; j++)
        {
            if (*(p1 + j) > *(p1 + j + 1)) {
                temp = *(p1 + j);
                *(p1 + j) = *(p1 + j + 1);
                *(p1 + j + 1) = temp;
            }
        }
    }
}
int main()
{
    int i;//數(shù)組元素下標(biāo)變量
    int a[10];
    int j1=0;
    printf("輸入10個(gè)整數(shù):");
    for (i = 0; i < 10; i++)
    {
        scanf_s("%d",a+i);
    }
    scanf_s("%d", j1);
    if (j1 == 1)
    {
        sort(a, 10);
    }
    else {
        sort(a, 10);
    }
    printf("排序的結(jié)果如下:\n");
    for (i = 0; i < 10; i++)
    {
        printf("%4d",*(a+i));
    }
    system("pause");
    return 0;
}
回答
編輯回答
貓館

mySort這個(gè)函數(shù)是用來(lái)干嘛的看不明白

2017年5月21日 01:46
編輯回答
歆久
#include<stdio.h>
#include<stdlib.h>
void sort(int *p, int n)
{
    int i, j, temp;
    for (i = 0; i < n - 1; i++)
    {
        for (j = 0; j < n - i - 1; j++)
        {
            if (*(p + j) > *(p + j + 1)) {
                temp = *(p + j);
                *(p + j) = *(p + j + 1);
                *(p + j + 1) = temp;
            }
        }
    }
}

void mySort(int *p,int n) {
  for (int i = 0;i < n ;++i) {
    for (int j = 0; j < i; j++) {
      if (*(p + j) > *(p + i)) {
        int temp = *(p+j);
        *(p+j) = *(p + i);
        for(int ii = i;ii > j+1;--ii) {
           int temp2 = *(p + ii + 1);
           *(p + ii) = *(p + ii -1);
        }
        *(p+j+1) = temp;
        break;
      }
    }
  }
}


void sort2(int *p1, int n) {
    int i, j, temp;
    for (i = 0; i < n - 1; i++)
    {
        for (j = 0; j < n - i - 1; j++)
        {
            if (*(p1 + j) < *(p1 + j + 1)) {
                temp = *(p1 + j);
                *(p1 + j) = *(p1 + j + 1);
                *(p1 + j + 1) = temp;
            }
        }
    }
}
int main()
{
    int i;//數(shù)組元素下標(biāo)變量
    int a[10];
    int j1=0;
    printf("輸入10個(gè)整數(shù):");
    for (i = 0; i < 10; i++)
    {
        scanf("%d",a+i);
    }
    scanf("%d", &j1);
    printf("%d",j1);
    if (j1 == 1)
    {
        sort(a, 10);
    }
    else {
        sort2(a, 10);
    }
    // mySort(a,10);
    printf("排序的結(jié)果如下:\n");
    for (i = 0; i < 10; i++)
    {
        printf("%4d",*(a+i));
    }
    system("pause");
    return 0;
}
2017年5月14日 02:09