zoukankan      html  css  js  c++  java
  • 找出float型数组的最大值和最小值,分别和第一个和最后一个元素互换

     1 #include<stdio.h>
     2 float a[10];
     3 float *p;
     4 int main()
     5 {
     6     void input(float*,int);
     7     void output(float*,int);
     8     void change(float*,int);
     9     p=a;
    10     input(p,10);
    11     printf("输入完成
    ");
    12     change(p,10);
    13     printf("操作完成
    ");
    14     output(p,10);
    15     printf("输出完成
    ");
    16     return 0;
    17 }
    18 
    19 int min(float *a,int n)
    20 {
    21     int min=0;
    22     for(int i=1;i<n;i++)
    23     {
    24         if(*(a+min)>*(a+i)) min=i;
    25     }
    26     return min;
    27 }
    28 int max(float *a,int n)
    29 {
    30     int max=0;
    31     for(int i=1;i<n;i++)
    32     {
    33         if(*(a+max)<*(a+i)) max=i;
    34     }
    35     return max;
    36 }
    37 
    38 void input(float*a,int n)
    39 {
    40     for(int i=0;i<n;i++)
    41     {
    42         scanf("%f",a+i);
    43     }
    44 }
    45 
    46 void change(float *a,int n)
    47 {
    48     int i=min(a,n);
    49     int j=max(a,n);
    50     if(j==0) j=i;      //仔细理解这一句的重要性
    51     float temp=*(a+i);
    52     *(a+i)=*a;
    53     *a=temp;
    54     
    55     temp=*(a+j);
    56     *(a+j)=*(a+n-1);
    57     *(a+n-1)=temp;
    58 }
    59 
    60 void output(float*a,int n)
    61 {
    62     for(int i=0;i<n;i++) printf("%7.2f",*a++);
    63     printf("
    ");
    64 }

    运行结果:

  • 相关阅读:
    oracle表管理
    Eclipse快捷键指南
    Oracle 命令行导入导出方法
    oracle 查询优化
    Asp.net DataTable添加列和行的方法
    C#实现程序开机启动
    sql分组查询
    10_基址重定向.md
    通用寄存器.md
    小甲鱼.md
  • 原文地址:https://www.cnblogs.com/bboykaku/p/12498409.html
Copyright © 2011-2022 走看看