对于求得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版权协议,转载请附上原文出处链接和本声明。