我们之前实现过输入10个整数,比较最大值,但要设置11个整型变量:10个变量存储10个数,另一个变量存储最大值!但这样未免太麻烦,而且要一下子输入10个数,未免多输入。虽然不会出错,是因其只判断前十个存储的整数,以后输入的并没有存储所以不影响前十个数的判断。(这里最好自己亲自输入测试,更能清楚的理解其中道理)
链接如下:
没有学过数组,不采用for循环输入,而是一下子输入10个整数,逐一采用if判断,进行比较。
C语言:输入10个整数,比较求最大值(for循环输入,if判断)
代码如下:
int main()
{
int max,num,i;
scanf("%d",&max);
for(i=1;i<10;i++)
{
scanf("%d",&num);
if(max<num)
{
max=num;
}
}
printf("%d",max);
return 0;
}
这里只需要定义三个变量。max存储第一次赋值,存储判断后二者最大值。num存储后九次输入的值,再与max进行比较。而i呢,则是实现后九次每一次输入的实现。(从i=1到i<10是进行了9次循环,而i=1到i<=10则会实现10次循环。)
模拟流程
改进要求:
输入、求最大值在子函数,输出在主函数。
#include<stdio.h>
int max();
int main()
{
printf("%d",max());
return 0;
}
int max()
{
int max,num,i;
scanf("%d",&max);
for(i=1;i<10;i++)
{
scanf("%d",&num);
if(max<num)
{
max=num;
}
}
return max;
}
执行判断:
既然没有终点,那在何处又何妨呢。
希望对你有帮助,语言学习贵在坚持输入和输出!