当前位置导航:炫浪网>>网络学院>>编程开发>>C++教程>>C++进阶与实例

10个整数,将其中最小的数与第一个数对换

把最大的数与最后一个数对换。写3个函数:1 输入10个数。2 进行处理。3输出10个数

对照了一下书上的~~发现可以更简单点~(其实书上那答案也有错的~并不是对换,而是替换。。

我顺便改了一下~~^.^)
main()
{int number[10];
aa(number);
bb(number);
cc(number);
}
aa(int *array)
{int i;
for(i=0;i<10;i++)
  scanf("%d,",&array[i]);
}
bb(int *array)
{int *max,*min,t;
int *p;
p=max=min=array;
for(p=array+1;p<array+10;p++)
  if(*max<*p) max=p;
  else if(*min>*p) min=p;
  t=*max;*max=array[9];array[9]=t;
  t=*min;*min=array[0];array[0]=t;
}
cc(int *array)
{ int *p;
for(p=array;p<array+9;p++)
  printf("%d,",*p);
printf("%d\\n",array[9]);
getch();
}

当然~如果不用到调用函数的话还可以更更更更简单点~(简约不简单哦~)
main()
{int a[10],i,*p,*max,*min,t;
 max=min=a;
 for(i=0;i<10;i++)
  scanf("%d",&a[i]);
 for(p=a;p<a+10;p++)
  if(*max<*p) max=p;
  else if(*min>*p) min=p;
  t=*min;*min=a[0];a[0]=t;
  t=*max;*max=a[9];a[9]=t;
 for(p=a;p<a+9;p++)
  printf("%d,",*p);
  printf("%d",a[9]);
  getch();
}
相关内容
赞助商链接