指针的简单操作!
源代码:
/*
function:2.输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。写三个函数:①输入10个数;②进行处理;③输出10个数。所有函数的参数均用指针。
*/
#include<stdio.h>
void Input(int *n);
void min_max(int *n);
void Output(int *n);
int main()
{
int n[10];
puts("input 10 number :");
Input(n);
min_max(n);
Output(n);
return 0;
}
//输入数字
void Input(int *n)
{
int i=0;
for(i=0;i<10;i++)
{
scanf("%d",&n[i]);
}
}
//数字处理
void min_max(int *n)
{
int i,min,max,ma_h,mi_l;
max=min=n[0]; //设定初值
for(i=1;i<10;i++)
{
if(max<n[i])
{
max=n[i];
ma_h=i;
}
//
if(min>n[i])
{
min=n[i];
mi_l=i;
}
}
//交换n[mi_l],n[0]
n[0]=n[mi_l]^n[0];
n[mi_l]=n[mi_l]^n[0];
n[0]=n[mi_l]^n[0];
//
n[9]=n[ma_h]^n[9];
n[ma_h]=n[ma_h]^n[9];
n[9]=n[ma_h]^n[9];
}
//输出处理
void Output(int *n)
{
int i=0;
for(i=0;i<10;i++)
{
printf("%3d",n[i]);
}
putchar('\n');
}
运行结果