| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 929 人关注过本帖
标题:printf("a = ");和scanf(" %c", &ch); 执行顺序的问题 ...
只看楼主 加入收藏
ws112233ws
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2015-7-16
结帖率:75%
收藏
已结贴  问题点数:10 回复次数:4 
printf("a = ");和scanf(" %c", &ch); 执行顺序的问题
先看程序代码,下面这个程序代码axx+bx+c=0也就是x=(-b±√(b^2-4ac))/2a 的方程的解。
# include <stdio.h>
# include <math.h>

int main(void)
{
    double a, b, c;   
    double delta;
    double x1, x2;   
    char ch;
   
    do   
    {   
        printf("请输入一元二次方程的三个系数:\n");
        printf("a = ");
        scanf("%lf", &a);

        
        printf("b = ");
        scanf("%lf", &b);
        
        printf("c = ");
        scanf("%lf", &c);
        
        delta = b*b - 4*a*c;
        
        if (delta > 0)
        {
            x1 = (-b + sqrt(delta)) / (2*a);
            x2 = (-b - sqrt(delta)) / (2*a);
            printf("有两个解,x1 = %lf, x2 = %lf\n", x1, x2);
        }
        else if (0 == delta)
        {
            x1 = x2 = (-b) / (2*a);
            printf("有唯一解,x1 = x2 = %lf\n", x1, x2);
        }
        else
        {
            printf("无实数解!\n");
        }

        printf("您想继续么(Y/N): ");
        scanf(" %c", &ch);
    } while ('y'==ch || 'Y'==ch);
   
    return 0;
}
搜索更多相关主题的帖子: double include 
2015-07-19 11:34
ws112233ws
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2015-7-16
收藏
得分:0 
我的问题是:
下面语句
 printf("a = ");
scanf("%lf", &a);
当我输入数字时不会出现错误,但当我在输入a的值不是数字而是y或n时,为何同时(我认为是同时)执行了 scanf(" %c", &ch);?
2015-07-19 11:40
hjx1120
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:李掌柜
等 级:贵宾
威 望:41
帖 子:1314
专家分:6927
注 册:2008-1-3
收藏
得分:10 
输入一个字符时会产生一个缓冲区问题,清空就行了
2015-07-19 11:45
hjx1120
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:李掌柜
等 级:贵宾
威 望:41
帖 子:1314
专家分:6927
注 册:2008-1-3
收藏
得分:0 
要输入字符的代码后加句:
fflush(stdin);
2015-07-19 11:49
ws112233ws
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2015-7-16
收藏
得分:0 
谢谢!
2015-07-19 12:19
快速回复:printf("a = ");和scanf(" %c", &ch); 执行顺序的问题 ...
数据加载中...
 
   



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

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