zoukankan      html  css  js  c++  java
  • C语言经典算法100例-067-练习使用指针2

    题目:输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。

    现提供正确答案:

    //10个数,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组
    #include <stdio.h>
    #include <stdlib.h>
    
    int main()
    {
        int number[10];
        input(number);
        output(number);
        max_min(number);
        output(number);
        return 0;
    }
    
    //输入数组
    input(number)       //为什么可以这样定义函数 经实验可以这样定义 不过还是建议用常规方式定义吧
    int number[10];
    {
        int i;
        for(i=0;i<10;i++)
            scanf("%d",&number[i]);
    }
    
    //找出最大最小值并交换
    void max_min(int array[])
    {
        int *max,*min,k,l;
        int *p,*arr_end;
        arr_end=array+10;   //指向数组最后一个元素的后一个位置array[10]
    
        //找出最大最小值所在位置
        max=min=array;
        for(p=array+1;p<arr_end;p++)
            if(*p>*max) max=p;
            else if(*p<*min) min=p;
    
        //交换
        k=*max;
        l=*min;
        *max=*array;
        *array=k;
        *min=*(arr_end-1);
        *(arr_end-1)=l;
    }
    
    //输出数组
    void output (int array[])
    {
        int i;
        for(i=0;i<10;i++)
            printf("%4d",array[i]);
        printf("
    ");
    }
    


  • 相关阅读:
    Echrarts的基本API
    Echarts中Option属性设置
    大数据ETL处理时遇到的坑
    模块设计模式
    PAT (Advanced Level) Practice 代码
    递归中的 DFS 与 DP 比较
    CF 1557 D. Ezzat and Grid
    CF 1557 C. Moamen and XOR
    CF 1555 E. Boring Segments
    CF 1555 D. Say No to Palindromes
  • 原文地址:https://www.cnblogs.com/mrbourne/p/9959480.html
Copyright © 2011-2022 走看看