运用数学思维解答在输入的一串数中寻找最大值#最小值也同理
在这里运用了数学中多次迭代找规律,并将规律转换为通式,运用循环#以下代码可用数组优化。
首先我们先假设只有两个数,那么会存在一个最大值
int main (void){
float a=0。0f,b=0。0f,max = 0。0f;#无法确定输入数是否为整型
if (a>b) max=a;
else max=b;
printf("The largest num : %f",max);
return 0;
}
接下来若数字增加到第三位,我们只需让接下来的这个数字与max比较即可,算出前三个数的最大值,若数字增加到第四位,我们只需让接下来的这个数字与max比较即可,即可算出前四个数的最大值。
以此类推 我们只需让后输入的数字与之前的最大值依次比较即可;故找到依次比较中代码重复部分,用一个通用字符代替,并用循环辅助运行。#代码如下
int main(void) { //****多循环比较输出数字大小
float i = 0,k=0.0f,j=0.0f,n=0.0f;
printf("Enter the num:");
scanf_s("%f", &i);
printf("Enter the num:");
scanf_s("%f", &k);
if (i > k)
j = i;
else
j = k;//用do {}while()循环可以当第三次输入0时也能完成循环体的一次
do {
printf("Enter the num:");
scanf_s("%f", &n);
if (n > j)
j = n;
else
j = j;
} while (n > 0);/*****当输入为负数或0时代码停止跳出循环******/
printf("The largest num:%f",j);
return 0;
}
原文地址:https://blog.csdn.net/woaini1314__/article/details/151143759
免责声明:本站文章内容转载自网络资源,如侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!
