| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 406 人关注过本帖
标题:错在哪里呢?
只看楼主 加入收藏
雪燃
Rank: 2
等 级:论坛游民
帖 子:17
专家分:43
注 册:2010-2-9
结帖率:83.33%
收藏
已结贴  问题点数:5 回复次数:7 
错在哪里呢?
#include<stdio.h>
#include<math.h>

int main(void)
{
   int a = 1;
   int b = 2;
   int c = 3;
   float delta;
   float x1;
   float x2;
   delta = b * b - 4 * a * 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",x1);
   }
   else
   {
       printf("该一元二次方程无解");
   }
   return 0;
}


--------------------Configuration: 1 - Win32 Debug--------------------
Compiling...
1.cpp
E:\练习\1\1.cpp(12) : warning C4244: '=' : conversion from 'int' to 'float', possible loss of data
E:\练习\1\1.cpp(16) : warning C4244: '=' : conversion from 'double' to 'float', possible loss of data
E:\练习\1\1.cpp(17) : warning C4244: '=' : conversion from 'double' to 'float', possible loss of data
E:\练习\1\1.cpp(22) : warning C4244: '=' : conversion from 'int' to 'float', possible loss of data
E:\练习\1\1.cpp(24) : error C2018: unknown character '0xa3'
E:\练习\1\1.cpp(24) : error C2018: unknown character '0xac'
E:\练习\1\1.cpp(24) : error C2146: syntax error : missing ')' before identifier 'x1'
E:\练习\1\1.cpp(24) : error C2059: syntax error : ')'
执行 cl.exe 时出错.

1.obj - 1 error(s), 0 warning(s)


[ 本帖最后由 雪燃 于 2011-3-27 11:49 编辑 ]
搜索更多相关主题的帖子: void 唯一 include 
2011-03-27 11:41
canxden
Rank: 3Rank: 3
来 自:江西奉新
等 级:论坛游侠
帖 子:114
专家分:105
注 册:2011-3-18
收藏
得分:0 
#include <stdio.h>
#include <math.h>

double main (void)  {
   
    double a, b, c, x1, x2, d;

    printf("ax^2+bx+c=0\n");

    printf("please input a:");
    scanf("%lf", &a);

    printf("please input b:");
    scanf("%lf", &b);

    printf("please input c:");
    scanf("%lf", &c);

    d=sqrt(b*b-4*a*c);

     if (d>=0) {
        x1=(-b+d)/(2*a);
        x2=(-b-d)/(2*a);
        printf("%.2lf*x^2+%.2lfx+%.2lf=0\n", a, b, c);
        printf("x1=%.2lf\t x2=%.2lf \n \n", x1, x2);
        }
        else
        {
        printf("The equation no solution\n");
        }

    return 0;
}


以前写的…你自己参考下…

一个人能有多坚强,太安静,就成了孤单。
2011-03-27 12:15
canxden
Rank: 3Rank: 3
来 自:江西奉新
等 级:论坛游侠
帖 子:114
专家分:105
注 册:2011-3-18
收藏
得分:0 
你都没有给a,b,c赋值……怎么运算啊…

一个人能有多坚强,太安静,就成了孤单。
2011-03-27 12:17
canxden
Rank: 3Rank: 3
来 自:江西奉新
等 级:论坛游侠
帖 子:114
专家分:105
注 册:2011-3-18
收藏
得分:0 
刚才拿手机上网没注意 = = 你赋值了 、。 、 唉 我再看看、、、

一个人能有多坚强,太安静,就成了孤单。
2011-03-27 13:12
canxden
Rank: 3Rank: 3
来 自:江西奉新
等 级:论坛游侠
帖 子:114
专家分:105
注 册:2011-3-18
收藏
得分:0 
大概知道原因了 就是float型的数据和int型的数据不能互相用的。。就比如说3除以2变成了1.5这时候编译器会报错

一个人能有多坚强,太安静,就成了孤单。
2011-03-27 13:23
canxden
Rank: 3Rank: 3
来 自:江西奉新
等 级:论坛游侠
帖 子:114
专家分:105
注 册:2011-3-18
收藏
得分:3 
程序代码:
#include<stdio.h>
#include<math.h>

int main(void)
{
   int a = 1;
   int b = 2;
   int c = 3;
   float delta;
   float x1;
   float x2;
   delta = (float) sqrt(b * b - 4 * a * c); /*全都加(float)强制性换成float型数据*/

   if (delta > 0)
   {
       x1 = (float) (-b + delta) / (2 * a); /*全都加(float)强制性换成float型数据*/
       x2 = (float) (-b - delta) / (2 * a); /*全都加(float)强制性换成float型数据*/
       printf("该一元二次方程有两个解,x1 = %f, x2 = %f\n", x1,x2);
   }
   else if (0 == delta)  /*这里要是==不是= 一个=是赋值的意思
                                建议要用等号的时候把不变量放到左边*/
   {
       x1 = (float) (-b) / (2 * a); /*全都加(float)强制性换成float型数据*/
       
       printf("该一元二次方程有一个唯一解,x1 = x2 = %f",x1); /*这里%f",x1里的逗号被你弄成中文的逗号了*/
   }
   else 
   {
       printf("该一元二次方程无解");
   }
   return 0;
}

一个人能有多坚强,太安静,就成了孤单。
2011-03-27 13:24
shuimu10
Rank: 2
等 级:论坛游民
帖 子:53
专家分:48
注 册:2010-11-19
收藏
得分:2 
#include<stdio.h>
#include<math.h>

int main(void)
{
    int a = 1;
    int b = 2;
    int c = 3;
    float delta;
    float x1;
    float x2;
    delta = b * b - 4 * a * 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",x1);/*%f后的那个逗号用英文输入法输入*/
    }
    else
    {
        printf("该一元二次方程无解");
    }
    return 0;
}

2011-03-27 13:29
雪燃
Rank: 2
等 级:论坛游民
帖 子:17
专家分:43
注 册:2010-2-9
收藏
得分:0 
谢谢楼上两位朋友
2011-03-27 13:52
快速回复:错在哪里呢?
数据加载中...
 
   



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

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