CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C/C++ >  C语言

请教小问题!!

楼主zsh6709(世界上没有后悔药吃的!!!)2006-03-04 20:03:44 在 C/C++ / C语言 提问

求方程   a*x*x+b*x+c=0的根,用三个函数分别求当b*b-4*a*c大于0,等于0和小于0的根并输出结果。从主函数中输入a,b,c的值。  
  这里我用一个函数解决了,但运行时出现问题,请指教!!!  
  #include<stdio.h>  
  #include<math.h>  
  void   QG(int   ,int   ,int);  
  void   main()  
  {  
  int   a,b,c;  
  printf("Please   input   the   value   of   a,b,c   :");  
  scanf("%d,%d,%d",a,b,c);  
  QG(a,b,c);  
  }  
  void   QG(int   a,int   b,int   c)  
  {  
  int   m;  
  m=b*b-4*a*c;  
  double   n;  
  n=sqrt(m);  
  if(m>0)  
  printf("The   value   is   :%d,%d\n",(-b+n)/(2*a),(-b-n)/(2*a));  
  else   if(m=0)  
  printf("The   value   is   :%d\n",-b/(2*a));  
  else    
  printf("No   value!!\n");  
  }  
  问题点数:20、回复次数:7Top

1 楼llf_hust()回复于 2006-03-04 20:09:31 得分 2

报的什么错误呀Top

2 楼cunsh(村少)回复于 2006-03-04 20:09:32 得分 5

scanf("%d,%d,%d",a,b,c);  
  ====================  
                            &a,&b,&cTop

3 楼steedhorse(晨星)回复于 2006-03-04 20:11:58 得分 5

你用“%d”打印浮点数,应该这样:  
  printf("The   value   is   :%d,%d\n",   (int)(-b+n)/(2*a),   (int)(-b-n)/(2*a));  
  要么你就使用“%f”。Top

4 楼cunsh(村少)回复于 2006-03-04 20:13:01 得分 3

printf("The   value   is   :%d,%d\n",(-b+n)/(2*a),(-b-n)/(2*a));  
   
  ========  
   
  结果是小数.不能用%d呀.用%lfTop

5 楼ugg(逸学堂(exuetang.net))回复于 2006-03-04 20:52:56 得分 3

scanf("%d,%d,%d",&a,&b,&c);Top

6 楼zsh6709(世界上没有后悔药吃的!!!)回复于 2006-03-06 09:33:48 得分 0

真是不好意思哦!  
  连C语言中最简单的东西都搞忘记了,一看书就知道怎么回事了!  
   
  现在帖出正确答案,仅供大家参考?  
  如果大家有更好的解决方案,请指教,明天结贴!!  
   
  #include<stdio.h>  
  #include<math.h>  
  void   QG(float   ,float   ,float);  
  void   main()  
  {  
  float   a,b,c;  
  printf("Please   input   the   value   of   a,b,c   :");  
  scanf("%f,%f,%f",&a,&b,&c);  
  QG(a,b,c);  
  }  
  void   QG(float   a,float   b,float   c)  
  {  
  double   m,n;  
  m=b*b-4*a*c;  
  if(m>=0)  
  if(m>0)  
  {  
  n=sqrt(m);  
  printf("The   value   is   :%lf,%lf\n",(-b+n)/(2*a),(-b-n)/(2*a));  
  }  
  else    
  printf("The   value   is   :%lf\n",-b/(2*a));  
  else  
  printf("No   value!!\n");  
  }  
  Top

7 楼bohlee(我心澎湃)回复于 2006-03-06 15:40:57 得分 2

顶Top

相关问题

  • 小小小小小问题!
  • 一个小小小小小小问题
  • 小小,小问题
  • 小小小小问题
  • 小小问题!
  • 小小问题?
  • 小小问题。
  • 小小问题!!!!
  • 小小API
  • 小小问题:)

关键词

  • 函数
  • qg
  • float
  • printf
  • lf
  • scanf
  • include
  • else

得分解答快速导航

  • 帖主:zsh6709
  • llf_hust
  • cunsh
  • steedhorse
  • cunsh
  • ugg
  • bohlee

相关链接

  • C/C++ Blog
  • C/C++类图书
  • C/C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo