#include <stdio.h>
#define M 20
#define N 10
void input(int *p);
void print(int *p);
void find(int *p);
void exch(int *a,int *b);
int main(void)
{
int n[M];
int *p=n;
printf("please input->:");
input(p);
find(p);
print(p);
return 0;
}
/* 输入 */
void input(int *p)
{
int i;
for(i=0;i<N;i++,p++){
scanf("%d",p);
}
}
void print(int *p)
{
int i;
for(i=0;i<N;i++,p++){
printf("%d\t",*p);
}
puts("");
}
void find(int *p)
{
int *max,*min;
int i;
int *q=p;
max = min = q;
for(i=0;i<N;i++,q++){
if(*q > *max)
max = q;
}
q--;
/* max与第一个数交换 */
exch(max,p);
q=p;
for(i=0;i<N;i++,q++){
if(*q < *min)
min = q;
}
q--;
/* min与最后一个数交换 */
exch(min,q);
}
void exch(int *a,int *b)
{
*a ^= *b;
*b ^= *a;
*a ^= *b;
}
输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。
最新推荐文章于 2022-03-29 10:51:12 发布