| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 741 人关注过本帖
标题:do....while一直输出相同的值
只看楼主 加入收藏
tk0212
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2013-7-25
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:10 
do....while一直输出相同的值
# include<stdio.h>
# include<math.h>

int main(void)
{
        double a, b, c;
        double delta;
        double x1, x2;
        
        printf("请输入系数的值:\n");
        printf("a = ");
        scanf("%lf", &a);   
        
        printf("b = ");
        scanf("%lf", &b);   
        
        printf("c = ");
        scanf("%lf", &c);
        
        delta = b*b - 4*a*c;
        
        do
        {
                if (0 == delta)
                {
                        x1 = x2 = (-b) / (2*a);
                        printf("x1 = x2 = %lf\n", x1, x2);
                }
               
                else if (delta > 0)
                {
                        x1 = (-b + sqrt(delta)) / (2*a);
                        x2 = (-b - sqrt(delta)) / (2*a);
                        printf("x1 = %lf,x2 = %lf\n", x1, x2);
                }
               
                else
                {
                        printf("无解\n");
                }
               
        } while (1);
        
    return 0;
}


初学者,还请各位帮忙看下VC++环境下运行的为什么是这个情况,这是我在视频网站上照着输入的,那个视频里面运行的就很正常如图
图片附件: 游客没有浏览图片的权限,请 登录注册
图片附件: 游客没有浏览图片的权限,请 登录注册
图片附件: 游客没有浏览图片的权限,请 登录注册
2015-07-17 12:47
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:4 
你写的就是死循环,照抄都抄错了呗。

授人以渔,不授人以鱼。
2015-07-17 12:57
tk0212
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2013-7-25
收藏
得分:0 
回复 2楼 TonyDeng
酱紫啊   我都对着看了好多遍了  逐句对照也没发现有问题呀,就是最后加了do....while(1)才出问题的,视频里的也是while(1)

[ 本帖最后由 tk0212 于 2015-7-17 13:06 编辑 ]
2015-07-17 13:02
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
别的不用看,你do {} while(1);是循环条件永远为真,除非在里面有break跳出语句,否则不会跳出循环,你通篇下来就没有break的字样。

另外一个,你这个代码写的并不好,教程也不总是好的。

[ 本帖最后由 TonyDeng 于 2015-7-17 13:20 编辑 ]

授人以渔,不授人以鱼。
2015-07-17 13:07
树上的白幽灵
Rank: 1
等 级:新手上路
帖 子:1
专家分:4
注 册:2015-7-14
收藏
得分:4 
死循环
2015-07-17 13:20
lianyicq
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:26
帖 子:737
专家分:3488
注 册:2013-1-26
收藏
得分:4 
楼主是想程序运行后可以进行多次输入数据并运算吧。
你的循环语句只抱括了运算和显示部分,不能接收新的数据输入。应该把输入数据、计算及显示部分包括在内。并且在每次输入计算数据前应该有一个根据输入的字符,比如“E”退出程序的逻辑判断。

大开眼界
2015-07-17 15:02
q215236213
Rank: 4
等 级:业余侠客
威 望:1
帖 子:148
专家分:276
注 册:2012-7-24
收藏
得分:4 
对于循环没理解吧!如果真是照着书抄的,那估计这书质量够呛!
2015-07-17 16:01
ditg
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:16
帖 子:852
专家分:1937
注 册:2014-4-10
收藏
得分:4 
用版主的话说,这书可以扔鸟

梦想拥有一台龙芯3A-4000
2015-07-17 16:37
tk0212
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2013-7-25
收藏
得分:0 
回复 4楼 TonyDeng
我是对这视频抄的  抄完之后,视频教程里运行时正常的   我的就陷入死循环了   我反反复复对了很多遍 程序和视频一样      我现在明白问题再哪里,可是不明白的是为什么视频教程运行时OK的  还是课堂上编写运行的
2015-07-17 18:18
tk0212
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2013-7-25
收藏
得分:0 
回复 7楼 q215236213
是照着教学视频抄写的,可是视频里的老师运行时正常的   我明白那是个死循环,可是那个老师在课堂上写了  然后运行怎么不陷入死循环呢?  我反反复复对照了N遍了
2015-07-17 18:20
快速回复:do....while一直输出相同的值
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017749 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved