//这道题的难点个人觉得就是负数的比较,如果你一开始把max赋予0的初值,那么你在比较几个负数的大小的时候一定输出0

//所以一开始就要将输入的整数赋给max在进行比较

#include<stdio.h>

int main()

{

int m,max=0;

scanf("%d",&m);

max=m;

while(m!=-1&&scanf("%d",&m)+m)//如果上面输入的m等于-1,那么不循环直接输出max的结果-1

{ //如果上面输入的m不等于负一,而在while这里输入的m是-1此时利用scanf返回值为1得到表达式的结果为0,不循环

//直接输出上面输入m的结果。   

if(m>max)

{

max=m;

}

}

printf("%d",max);

     return 0;

}


点赞(4)
 

0.0分

0 人评分

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

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

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

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

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

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

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

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

评论列表 共有 2 条评论

王涛 6年前 回复TA
while(m!=-1&&scanf("%d",&m)+m)后面的+m如何理解?
youarethe 7年前 回复TA
强!