编写程序,输入一串数,要求一个一个输入数,当输入0或者负数时,程序必须显示输入的最大非负数

#include<stdio.h>intmain(void){floatnum,max;num=1;/*就是这一行,没有这一行,vc会说变量没有初始化然后就不能运行,但是... #include<stdio.h>
int main(void)
{
float num, max;
num = 1; /*就是这一行,没有这一行,vc会说变量没有初始化然后就不能运行,但是有了这一行那么也就是最小的最大数字一定是1也就是输入0.1最大的数字还是1怎么解决*/
max = 0;
while(num > 0)
{
printf("Enter a number:");
scanf("%f", &num);

if(num > max)
{
max = num;
}
}

printf("The largest number entered was %f", max);
return 0;
}
展开
 我来答
windblast
推荐于2016-09-18 · 知道合伙人软件行家
windblast
知道合伙人软件行家
采纳数:5633 获赞数:13621
毕业于空军第一航空学院电子专业,1991年开始接触电脑,从事多年计算机编程,具有较丰富的经验。

向TA提问 私信TA
展开全部

“也就是输入0.1最大的数字还是1”,0.1 当然要小于1了。


示例代码如下:

#include <stdio.h>
#include <stdlib.h>

int main(void) {
float max = 0, input = 0;

printf("请输入数值, 如果输入0或负数则退出程序:\n\n");
while(1) {
if(scanf("%f",&input) == 1) {
if(input <= 0) {
break;
} else
{
if(max<input)
max=input;
}
} else {
printf("无效的输入,跳过返回...\n");
}
}

printf("输入的最大数是: %f",  max);
return 0;
}


运行结果图:


追问
while(1)是什么意思,不是括号里面应该是一个条件吗?就比如a>1这种,还有break不是循环才有的吗?这里是干嘛用的,#include 这个是干嘛用的。。。。。。。。。。。。新手问题比较多,感谢
追答
  1.  while(1)是什么意思,不是括号里面应该是一个条件吗?


    条件的最终结果是取得一个逻辑值:真或假,再据此执行代码或终止。1 在c语言里代表真值, while(1)其实就是一直循环的意思。


  2. break不是循环才有的吗?这里是干嘛用的,


    上面提到了 while(1) 是一直循环,这样的话,就很容易形成“死循环”,break 就是配合 while(1) 常用的终止“死循环”的代码。


        通常这种配套是常见的,因为在某些场合,由于事先不知道循环什么时候、什么条件(可能有多个条件存在,但不知道实际运行过程会是哪个条件被触发)被终止,所以先来一个一直循环,再在循环体里写终止代码。


    3. #include <stdlib.h>


    stdlib 头文件即standard library标准库头文件。stdlib 头文件里包含了C、C++语言的最常用的系统函数。在本例代码中这个可用可不用。

JZ解说
2017-09-09
知道答主
回答量:5
采纳率:0%
帮助的人:5361
展开全部
#include <stdio.h>

int main(void)
{
    float n, i = 0;
    
    for (;;){
        printf("Enter a number (enter 0 to stop):");
        scanf("%f", &n);
        
        if (n > 0){
            i = n;
        }
        else if(n <= 0)
            break;
        }
    printf("The largest number entered was %.3f\n", i);
    
    return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式