指针编辑C语言

来源:百度知道 编辑:UC知道 时间:2024/05/14 03:21:59
输入10个整数,其中最小的与第一个交换,把最大的与最后一个交换。写3个函数:输入10个数,进行处理,输出10个数。

#include <stdio.h>

void input(int *pointer)
{
int i;
int *p;
p=pointer;
for(i=0;i<10;i++)
scanf("%d",p+i);
}
void f(int *pointer)
{
int i,min,max,temp,n1=0,n2=0;
int *p;
p=pointer;
min=*p;
max=*p;
for(i=1;i<10;i++)
{
if(min>*(p+i))
{
min=*(p+i);
n1=i;
}
if(max<*(p+i))
{
max=*(p+i);
n2=i;
}
}
temp=*(p+n1);
*(p+n1)=*p;
*p=temp;
temp=*(p+n2);
*(p+n2)=*(p+9);
*(p+9)=temp;
}
void output(int *pointer)
{
int i;
int *p;
p=pointer;
for(i=0;i<10;i++)
printf("%d ",*(p+i));
}
void main()
{
int a[10];
input(a);
f(a);
output(a);
}