解题思路:
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;
}

别忘点赞哦-.-

点赞(26)
 

0.0分

32 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 11 条评论

初生羊犊 5年前 回复TA
请问,不应该先输入scanf( "%d", &num );后判定if ( num > max )
                max = num;吗?