Chinaunix首页 | 论坛 | 博客
  • 博客访问: 140919
  • 博文数量: 45
  • 博客积分: 2000
  • 博客等级: 大尉
  • 技术积分: 495
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-21 20:14
文章分类
文章存档

2012年(2)

2007年(43)

我的朋友
最近访客

分类: C/C++

2007-02-27 12:39:31


 
输入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  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();
}
 
 
再简单一点的
 
 

#include "stdio.h"
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;
    }
   }
   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\n",a[9]);
 
阅读(853) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~