| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 340 人关注过本帖
标题:关于变量转换的问题,新手求助
只看楼主 加入收藏
c952966614
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2014-3-18
结帖率:0
收藏
已结贴  问题点数:20 回复次数:3 
关于变量转换的问题,新手求助
用VS2012写的小程序  求一元二次方程的根   输出的x1 x2  不准确   之前也有提示说double转char会丢失数据   可是我没有定义double啊   求各位大哥指点   需要怎么修改   谢谢   
#include<stdio.h>
#include<process.h>
#include<math.h>
main()
{
int a=0,b=0,c=0;
char delat,x1,x2;
printf("Input a,b,c:");
scanf("%d%d%d",&a,&b,&c);
delat=b*b-4*a*c;
x1=(-b+sqrt(delat))/(2*a);
x2=(-b-sqrt(delat))/(2*a);
if(delat<0)
printf("无实根");
else
printf("x1=%lf,x2=%lf",x1,x2);
system("pause");
}
搜索更多相关主题的帖子: include double 大哥 
2014-03-18 22:02
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:7 
求方程根  应该声明为double或float类型  

不知道你声明为char 是为神马??

DO IT YOURSELF !
2014-03-19 14:12
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9025
专家分:54030
注 册:2011-1-18
收藏
得分:7 
sqrt(delat) 的类型是什么?

程序代码:
#include <stdio.h>
#include <math.h>

int main()
{
    double a, b, c;
    printf( "%s", "Input a,b,c: " );
    scanf( "%lf%lf%lf", &a, &b, &c );
    {
        double delta = b*b-4*a*c;

        if( a==0 && b==0 && c==0 )
            printf( "x = anyone\n" );
        else if( a==0 && b==0 && c!=0 )
            printf( "x = none\n" );
        else if( a==0 )
            printf( "x = %f\n", -c/b );
        else if( delta < 0 )
            printf( "x = Has no real root\n" );
        else if( delta == 0 )
            printf( "x = %f\n", -b/(2*a) );
        else
            printf( "x1 = %f; x2 = %f\n", (-b+sqrt(delta))/(2*a), (-b-sqrt(delta))/(2*a) );
    }

    return 0;
}

2014-03-19 14:40
ying8501
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:6
帖 子:1092
专家分:1446
注 册:2008-11-24
收藏
得分:7 
函数sqrt(delat)得到的结果是double类型的,所以求出的根也是double类型,但是将它们赋给int 或char的变量会砍去方程根的小数部分,所以警告你不准确。你把6个变量都设成double类型就不会出现警告了。
2014-03-19 14:43
快速回复:关于变量转换的问题,新手求助
数据加载中...
 
   



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

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