面试题解(二)之Sony 笔试题

题目:
    完成程序,实现对数组的降序排序
  1. #include <stdio.h> 
  2. void sort();
  3. int main() {
  4.     int array[]={45,56,76,234,1,34,23,2,3}; //数字任意给出
  5.     sort(); 
  6.     return 0;
  7. }
  8. void sort(){
  9.     ____________________________________
  10.     | | 
  11.     | | 
  12.     |-----------------------------------------------------|
  13. }
     题解:
  1. #include <stdio.h>

  2. void sort();
  3. int main(void){
  4.     int array[10]={45,56,76,234,1,34,23,2,3};
  5.     int i;
  6.     sort(array,(sizeof(array)/sizeof(array[0]))-1);
  7.     for(i=0;i<(sizeof(array)/sizeof(array[0]))-1;i++){
  8.         printf("%d/n",*(array+i));
  9.     }
  10.     return 0;   
  11. }
  12. void sort(int *arr,int len){
  13.     int i;
  14.     int j;
  15.     int tmp;
  16.     for(i=0;i<len;i++){
  17.         for(j=i+1;j<len;j++){
  18.             if(*(arr+i)<*(arr+j)){
  19.                 tmp=*(arr+i);
  20.                 *(arr+i)=*(arr+j);
  21.                 *(arr+j)=tmp;       
  22.             }
  23.         }
  24.     }   
  25. }
编译环境: 
    gcc (GCC) 3.2.2 20030222 (Red Hat Linux 3.2.2-5)

运行过程:
[explover@Explover 20081101]$ gcc -g sort.c -o sort
[explover@Explover 20081101]$ ./sort
234
76
56
45
34
23
3
2
1

(本人水平有限,不足之处,请大家多多指正,谢谢!)    
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值