题目:
在键盘输入4个数,找到最大的数。
示例1
输入:
5 8 2 5输出:
8
类似于这类题我们该如何做,直接上代码,我这里使用的是数组存储我输入的值,当然也可以不用数组来存储,我贴在下面
方法1:
#include <stdio.h>
int main() {
int a=0; //用来输入
int max=0; //最大值我们初始化为0
for(int i=0;i<4;i++) //这里我们输入的是4个整数,当然也可以在重新定义一个变量来控制
{
scanf("%d",&a);
if(a>max)//输入一个数字和max的值比较,如果比max大就更新max的值
{
max=a;
}
}
printf("%d\n",max);
return 0;
}
方法2 :
#include <stdio.h>
int main() {
int arr[4]={0};
int a=0;
for(int i=0;i<4;i++)
{
scanf("%d",&arr[i]);
if(arr[i]>a)//输入一个数字和a比较,如果比a大就更新a的值
{
a=arr[i];
}
}
printf("%d\n",a);
return 0;
}
以上两种方法都可以达到找到最大值的目的。当然了如果我们理解了找最大值那我们也应该能理解找最小值,我们找最大值的思想是我定义一个int max=0;如果我输入的数字比max的值大,我就更新max的值。反过来,如果要求最小值,那么我们是不是可以定义一个int min=100;如果我们输入的值小于最小值min的值我们就更新min的值,此时比如我输入98,98<100,那么现在min的值就是98,以此类推,参考代码如下
#include <stdio.h>
int main() {
int num = 0; //输入数字的个数
int input = 0; //从键盘输入的值
int min = 100; //最小值初始化为100
scanf("%d", &num);
for (int i = 0; i < num; i++)
{
scanf("%d", &input);
if (input < min) //开始比较所输入的值和min的大小
{
min = input; //更新min的值
}
}
printf("%d\n", min); //打印出min的值
return 0;
}
如果我们掌握了求最大值和最小值的方法,那么我们就会求最大值和最小值的差了,比如让他输入10个成绩,计算最高分和最低分的差值该如何计算呢,代码如下
#include <stdio.h>
int main() {
int a = 0; //输入要找的个数
int b = 0; //输入的值
int max = 0;
int min = 100;
scanf("%d",&a);
for (int i = 0; i < a; i++)
{
scanf("%d",&b);
if (b > max)
max = b;
if (b < min)
min = b;
}
printf("%d\n", max - min);
return 0;
}
总结:
求最大值就是定义int max=0;求最小值定义int min=100;来进行比较更新。