//找最大数
//输入描述:一行4个整数,用空格分开eg:5 8 2 5
//输出描述:输出输入中的一个最大的整数eg:8
鹏哥C语言
方法1
#include<stdio.h>
int main()
{
int arr[4] = { 0 };//0 1 2 3
int i = 0;
//找最大值
while (i < 4)
{
scanf_s("%d", &arr[i]);
i++;
}
//假设第一个元素是最大值
int max = arr[0];
i = 1;
while (i < 4)
{
if (arr[i] > max)
{
max = arr[i];
}
i++;
}
printf("%d", max);
return 0;
}
解题思路:
首先我们先定义一个数组,给数组4个位置,这里可以知道如果要对比更多的数字,更改数组内存这个4即可
然后我们来给一个i来作为数组的序号
来写一个while循环,计入输入的数,我们要对比的是四个数即第0 1 2 3个,所以我们设定i<4进行循环,这样用scanf函数输入四个数
接下来将输入的数字进行对比首先我们先把第一个数当作最大值,即max=arr[0]
然后用剩下的arr[1],arr[2],arr[3]分别与其进行比较,哪一个比他大,就把最大值赋给大的那一个
接下来i++,再把arr[1],arr[2],arr[3]分别当作最大值,与后面的比较,这样所有的都进行了比较大小,将最大的那个赋值给了max进而输出max。
这个方法理解起来可能较为复杂,但是思路为较为传统的解题思路 接下来这个方法较为简练
方法二
#include<stdio.h>
int main()
{
int i = 1;
int n = 0;
int max = 0;
//假设第一个元素是最大值
scanf("%d ", &max);
while (i < 4)
{
scanf_s("%d", &n);
if (n > max)
{
max = n;
}
i++;
}
printf("%d", max);
return 0;
}
首先先给 i一个初始值1,即先来看第一个数字,注意上面的数组的序号是从0开始,此处的i决定循环次数,我们从1开始
给定n,max一个初始值0无意义
我们令输入的第一个值为最大值并赋值给max 即scanf("%d", &max);
接下来开始循环并判断,先令第二个输入的值为n,将n与max进行比较,如果n>max,就将n的值给max,这样循环三次,最终输出最大值
运行示例: