#include <stdio.h>
int A(int* n, int* p);
int main()
{
int i,n;
int a[100];
int p = a[100];
printf("请输入n的个数\n");
scanf("%d", &n);
printf("请输入这几个数\n");
for (i = 0; i < n; i++)
{
scanf("%d", & a[i]);
}
A(&n, &p);
for (i = 0; i < n; i++)
printf("%d ", a[i]);
return 0;
}
int A(int *n, int *p)
{
int i,j,t;
for(i=0;i<*n;i++)
for (j = i + 1; j < *n; j++)
{
if (*(p+i)>*(p+j))
{
t = *(p + i), * (p + i) = *(p + j), * (p + j) = t;
}
}
return *p;
}
修改处见注释,供参考:
#include<stdio.h>
void A(int n, int* p);//int A(int* n, int* p);
int main()
{
int i,n;
int a[100];
int* p = a; // int p = a[100];
printf("请输入n的个数\n");
scanf("%d", &n);
printf("请输入这几个数\n");
for (i = 0; i < n; i++)
{
scanf("%d", &a[i]); //scanf("%d", & a[i]);
}
A(n, p);
for (i = 0; i < n; i++)
printf("%d ", a[i]);
return 0;
}
void A(int n, int *p) //int A(int *n, int *p)
{
int i,j,t;
for(i=0;i < n - 1;i++) //for(i=0;i<*n;i++)
for (j = i + 1; j < n; j++) //for (j = i + 1; j < *n; j++)
{
if (*(p+i)>*(p+j))
{
t = *(p + i), * (p + i) = *(p + j), * (p + j) = t;
}
}
//return *p;
}
A(&n, &p+1);