输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。写3个函数:(1)输入10个数;(2)进行处理;(3)输出10个数。
这个题我用数组可以写出来,可要求用指针,我一用指针就乱了,哪位能写个程序来看看,谢谢了
[此贴子已经被作者于2006-9-2 12:42:15编辑过]
#include<stdio.h>
#define N 50
void Input(int *a,int n)
{
int i;
for(i=0;i<n;i++)
{
scanf("%d",a+i);
}
}
void tiaohuan(int *a,int n)
{
int max=0,min=0,i,temp;
for(i=1;i<n;i++)
{
if(*(a+i)>*(a+max))
{
max=i;
}
if(*(a+i)<*(a+min))
{
min=i;
}
}
temp=*(a+min);
*(a+min)=*a;
*a=temp;
temp=*(a+max);
*(a+max)=*(a+n-1);
*(a+n-1)=temp;
}
void display(int *a,int n)
{
int i;
for(i=0;i<n;i++)
{
printf("%-3d",*(a+i));
}
printf("\n");
}
int main()
{
int data[N],n;
printf("输入元素个数,不超过%d:",N);
scanf("%d",&n);
printf("输入%d个元素:",n);
Input(data,n);
tiaohuan(data,n);
printf("输出处理后的%d个元素:",n);
display(data,n);
return(0);
}