原题链接:C语言训练-最大数问题
解题思路:
1.输入一串数字,输出其中最大的数字,我们定义一个存最大值的变量max,把输入的数中的第一个数分离出来输入,让首先让max等于这个数;
2.之后每次输入一个数让它和max比较,比max大,则更新max;
3.最后所有数字输完后,输出max;
注意事项:
若只输入-1,不能把-1输出出来,所以在整个求最大数的过程外面,需要加一个判断,如果输入的第一个就是-1的话,直接结束;
参考代码:
c:
#include <stdio.h>
int main()
{
int num, max;
scanf( "%d", &num );
if ( num != -1 )
{
max = num;
while ( num != -1 )
{
if ( num > max )
max = num;
scanf( "%d", &num );
}
printf( "%d", max );
}
return 0;
}c++:
#include<iostream>
using namespace std;
int main()
{
int num, max;
cin>>num;
if ( num != -1 )
{
max = num;
while ( num != -1 )
{
if ( num > max )
max = num;
cin>>num;
}
cout<<max;
}
return 0;
}别忘点赞哦-.-
0.0分
32 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
请问,不应该先输入scanf( "%d", &num );后判定if ( num > max ) max = num;吗?