指针习题
输入十个整数,将最小的与第一个数对换,将最大的与最后一个数对换。写三个函数:1.输入十个数2.进行处理3.输出十个数#include<stdio.h>
int main()
{
void scan(int *p,int n);//函数声明,输入函数
void swap(int *p,int n);//函数声明,进行处理
void print(int *p,int n);
int a[10];
scan(a,10);//调用输入函数
swap(a,10);//调用处理函数
print(a,10);//调用输出函数
return 0;
}
void scan(int *p,int n)//输入函数
{
printf("please enter 10 numbers:");
int i=0;
for(;i<n;i++)
scanf("%d",p+i);
return;
}
void swap(int *p,int n)
{
int i=0,min=*p,max=*(p+n-1),temp;
for(;i<n;i++)
if(min>*(p+i))min=*(p+i);
temp=*p;*p=*(p+i);*(p+i)=temp;
for(i=0;i<n;i++)
if(max<*(p+i))max=*(p+i);
temp=*(p+n-1);*(p+n-1)=*(p+i);*(p+i)=temp;
return;
}
void print(int *p,int n)//输出函数
{
int i=0;
for(;i<n;i++)
printf("%d ",*(p+i));
printf("\n");
return;
}
输入和输出函数应该是对的,处理函数有什么问题呢,请大家帮忙看看,谢谢啦