VTR 发表于 2018-11-14 21:34:39

请问大神,我哪错了

C:\Users\Administrator\Desktop   
编程找出用户输入的一串数值中的最大数。
要求:需要提示用户一个一个地输入数据;当用户输入一个不大于0的数值时,表示输入结束。此时应输出一串数值中的最大值;

VTR 发表于 2018-11-14 21:40:14

#include<stdio.h>
int main()
{
    int n,max,n1=0,n2;
   do
        {
                printf("Enter a number:",n);
               scanf("%d",&n);
                   n2=n1;
                  n1=n;
                if(n1>n2)
                  max=n1;
                        else
                          max=n2;
                          
        }while(n>0);
          printf("The largest number is :%d",max);
           return 0;
}       以上是我的程序

VTR 发表于 2018-11-14 21:53:37

忘了说,这个程序0报错,但是逻辑错误,输出结果只会是输入的最后一个数。{:10_266:}

VTR 发表于 2018-11-14 21:56:21

是c语言哦{:10_266:}

VTR 发表于 2018-11-14 22:01:31

还有,如果可以的话能不能顺便教教我怎么把程序里的整型换成浮点型。多谢大神了,我愿意献上我的膝盖!{:10_266:}

每当我闭上眼 发表于 2018-11-14 22:03:48

#include<stdio.h>
int main()
{
    int n,max = 0;
   do
      {
                printf("Enter a number:");
               scanf("%d",&n);
                  
                if(n > max)
                  max = n;
                        
      }while(n>0);
          printf("The largest number is :%d",max);
         return 0;
}

VTR 发表于 2018-11-14 22:08:19

每当我闭上眼 发表于 2018-11-14 22:03


棒!多谢!

VTR 发表于 2018-11-14 22:16:45

每当我闭上眼 发表于 2018-11-14 22:03


大神,您能不能教教我怎么把这个程序里的整型换成浮点型?{:10_297:}老脸一红,厚脸皮的一问。

VTR 发表于 2018-11-14 22:23:10

而且。。。虽然大神回复的很好,但是我还是想知道自己错在了哪里,因为这样我才知道自己哪块知识有问题。请各位帮我纠纠错。拜托了!{:10_254:}

Canlovey 发表于 2018-11-14 22:32:28

你的错误在于:n2=n1;n1=n;之后的一次循环n2所赋的值上次输入的那个n,当最后输入的n<0时,你把n2赋给了max,所要输出的n2也就还是上一次输入的值,也就是你所说的最后输入的值,不知道我说明白了没

VTR 发表于 2018-11-14 22:45:42

Canlovey 发表于 2018-11-14 22:32
你的错误在于:n2=n1;n1=n;之后的一次循环n2所赋的值上次输入的那个n,当最后输入的n

嗯,,,就是说当我输入的n<0时,它还会再往下执行一次完整的任务才退出吗?{:10_254:}

每当我闭上眼 发表于 2018-11-14 22:50:45

整型换成浮点型,只要把代码中的int改成float,%d改成%f即可,你的错误已经有人回答啦

Canlovey 发表于 2018-11-14 22:51:27

是的,就是这个意思,n1的值被赋给n2,而n1=n又使得n1的值就为你上次输入的那一个值。

Canlovey 发表于 2018-11-14 22:56:30

VTR 发表于 2018-11-14 22:45
嗯,,,就是说当我输入的n

不过我比较习惯用for,do while 倒是不怎么用,我也是初学者,有机会一起交流啊~

VTR 发表于 2018-11-14 22:57:28

每当我闭上眼 发表于 2018-11-14 22:50
整型换成浮点型,只要把代码中的int改成float,%d改成%f即可,你的错误已经有人回答啦

嗯嗯,谢谢,但是我试了下,当我输入的有比如75.2295这样的数,它运行下来就不对了。。。因为本人是小白我好多东西不明白。这个问题要怎么解决呢?谢谢大神了{:10_266:}

VTR 发表于 2018-11-14 22:58:37

Canlovey 发表于 2018-11-14 22:51
是的,就是这个意思,n1的值被赋给n2,而n1=n又使得n1的值就为你上次输入的那一个值。

嗯嗯,知道自己哪错了我好开心!谢谢大神的帮助。{:10_266:}

VTR 发表于 2018-11-14 23:01:29

Canlovey 发表于 2018-11-14 22:56
不过我比较习惯用for,do while 倒是不怎么用,我也是初学者,有机会一起交流啊~

嗯!好的!

Canlovey 发表于 2018-11-14 23:19:40

VTR 发表于 2018-11-14 23:01
嗯!好的!

方便加个联系方式?我学到指针了,感觉循环这一块还挺熟的,你有问题的话都可以问我,如果我能帮上忙的话...网站基本上就一天上一次..

VTR 发表于 2018-11-14 23:36:07

Canlovey 发表于 2018-11-14 23:19
方便加个联系方式?我学到指针了,感觉循环这一块还挺熟的,你有问题的话都可以问我,如果我能帮上忙的话 ...

我没有发消息权限。您给我发个QQ号 我加你吧,还是别的也行。但不是说这个论坛不可以留联系方式吗?

VTR 发表于 2018-11-14 23:41:31

Canlovey 发表于 2018-11-14 23:19
方便加个联系方式?我学到指针了,感觉循环这一块还挺熟的,你有问题的话都可以问我,如果我能帮上忙的话 ...

我也没权限加坛友{:10_266:}
页: [1] 2
查看完整版本: 请问大神,我哪错了