我想用C语言的指针和函数实现冒泡排序,输入一就从小到大排序否则就大到。给数组赋值然后调用第一个函数我想用C语言的指针和函数实现冒泡排序,输入一就从小到大排序否则就大到。给数组赋值然后调用第一个函数在主函数输入1就进入sort函数进行排序,输入其他数就进入sort2函数大到小排序。我想得到主函数的数组元素的值但是总是错误
include
include
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;//数组元素下标变量
int a[10];
int j1=0;
printf("输入10个整数:");
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("排序的结果如下:\n");
for (i = 0; i < 10; i++)
{
printf("%4d",*(a+i));
}
system("pause");
return 0;
}