#include
void input(int *a)
{
int a[10],n;
printf("please input 10numbers:");
for (n=0;n<=10;n++)
scanf("%d",&a[n]);
}
void process(int *a)
{
int a[10];
int *p;
int *max,*min,t;
for (p=a+1;p if (*p>*max) max=p;
else if (*p<*min) min=p;
t=a[0];
a[0]=*min;
*min=t;
if (max==a) max=min;
t=a[9];
a[9]=*max;
*max=t;
}
void output(int *a)
{
int *p;
printf(":");
for(p=a;p<a+10;p++)
printf("%d\t",*p);
printf("\n");
}
int main()
{
int *p;
int a[10];
input(a);
process(a);
output(a);
return 0;
}
10,9,....1
运行一下,自己看下结果,你这是部分冒泡排序了
题目要求是:输入十个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。写三个函数:1、输入十个数,2、进行处理,3.输出十个数
process不应该重新创建int a[10]