Chinaunix首页 | 论坛 | 博客
  • 博客访问: 18681946
  • 博文数量: 7460
  • 博客积分: 10434
  • 博客等级: 上将
  • 技术积分: 78178
  • 用 户 组: 普通用户
  • 注册时间: 2008-03-02 22:54
文章分类

全部博文(7460)

文章存档

2011年(1)

2009年(669)

2008年(6790)

分类: C/C++

2008-05-30 18:39:58

把最大的数与最后一个数对换。写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  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  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  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  printf("%d,",*p);
  printf("%d",a[9]);
  getch();
}
阅读(888) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~