求10个整数中最大值

对于求得10个整数中最大值问题,,可从两个方面设计解决方案,下面为具体的算法分析及程序。
算法一:
可采用三目运算符进行获得:

   条件格式为:表达式1?表达式2:表达式3
   例如:max=a>b?a:b;

先建立一个长度为10的整形数组,运用scanf函数将10个整数数据输入到数组中,再采用三目运算符进行取舍,再创建一个变量max,将所得的最大值赋给max,最后再进行输出。

下面是具体的代码实现:

#include <stdio.h>

int main(){
  int max,a[10];
  for(int i=0;i<10;i++){
    scanf("%d",&a[i]);
  }
  max=a[0];
  for(int i=0;i<10;i++){
    max=a[++i]>max?a[++i]:max;
  }
  printf("%d\n",max);
  return 0;
}

算法二:
先建立一个长度为11的整形数组,运用scanf函数将10个整数数据元素输入到数组下标为1~10中,再将数组中下标为1的数据元素赋给下标为0的位置处,再调用for函数将数组内数据元素逐个比较,将最大值放到下标为0的位置,最后输出数组下标为0的数据元素。

下面是具体的代码实现:

#include <stdio.h>

int main(){
  int a[11];
  for(int i=1;i<=10;i++){
    scanf("%d",&a[i]);
  }
  a[0]=a[1];
  for(int i=1;i<=10;i++){
    if(a[i]>=a[0]) a[0]=a[i];
  }
  printf("%d\n",a[0]);
  return 0;
}

版权声明:本文为weixin_44106553原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。