| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2252 人关注过本帖
标题:scanf输入数值后不运行,什么问题,大神指教
只看楼主 加入收藏
hc407647719
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2014-4-21
结帖率:57.14%
收藏
已结贴  问题点数:12 回复次数:5 
scanf输入数值后不运行,什么问题,大神指教
#include<stdio.h>
#include<math.h>
int main(void)
{
    int a, b, c;
    float delta, x1, x2;
    delta = float(b*b - (4*a*c));
   
    printf("Please putinto three number:");
    scanf("%d%d%d\n", &a, &b, &c);
   
    if(delta>0)
    {
        x1 = (-b+sqrt(delta))/(2*a);
        x2 = (-b-sqrt(delta))/(2*a);
        printf("该一元二次方程有两个解,x1 = %f, x2 = %f\n", x1, x2);
    }
    else if(delta == 0)
    {
        x1 = (-b)/(2*a);
        x2 = x1;
        printf("该一元二次方程有一个解, x1 = x2 =%f\n", x1);
    }
    else
    {
        printf("该一元二次方程无解\n");
    }
    return 0;
}
搜索更多相关主题的帖子: include number 
2016-03-14 13:49
grmmylbs
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:54
帖 子:1409
专家分:5845
注 册:2016-2-14
收藏
得分:4 
这个赋值最好在abc输入以后
delta = float(b*b - (4*a*c));
2016-03-14 13:50
qq1023569223
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:湖南科技大学
等 级:贵宾
威 望:26
帖 子:2753
专家分:13404
注 册:2010-12-22
收藏
得分:4 
scanf("%d%d%d", &a, &b, &c); \n 不要,三个数字空格间隔输入即可。

   唯实惟新 至诚致志
2016-03-14 13:51
hc407647719
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2014-4-21
收藏
得分:0 
回复 3楼 qq1023569223
原来是不要换行符啊,谢谢,还有一个问题,好像我不管输入什么,都是无解呢,明明是大于零的啊
2016-03-14 14:23
z13631440976
Rank: 3Rank: 3
来 自:广州
等 级:论坛游侠
威 望:2
帖 子:40
专家分:118
注 册:2016-3-5
收藏
得分:4 
你的语句执行顺序错了!!!
你应该先进行输入再运算
就是说
先执行这一句:scanf("%d%d%d\n", &a, &b, &c);
值的输入不需要'\n'
再执行这一句:delta = float(b*b - (4*a*c));

     
     
     

[此贴子已经被作者于2016-3-14 14:41编辑过]

2016-03-14 14:40
hc407647719
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2014-4-21
收藏
得分:0 
回复 5楼 z13631440976
谢谢,万分感谢
2016-03-14 14:45
快速回复:scanf输入数值后不运行,什么问题,大神指教
数据加载中...
 
   



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

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