java double 比较大小sub=num.sub(java double 比较大小a,java double 比较大小b)在java中哪错了

求大神,帮我看看,哪错了_c语言吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:464,321贴子:
求大神,帮我看看,哪错了收藏
#include&stdio.h&#include&windows.h&#include&math.h&double EPS=10E-6;double sum(double a,double b){ return a+b;}double sub(double a,double b){ return a-b;}double mul(double a,double b){ return a*b;}double divv(double a,double b){ return a/b;}int rem(int a , int b){ return a%b;}int addnumber(int c,int d){ int sum=0; for(int i=c;i&=d;i++) {
sum+=i; }}int factor(int n){ int f=1; for(int i=1;i&=n;i++) {
f*=i; }} void displaymenu(){ printf("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ \n"); printf("*############高级计算器############* \n"); printf("************************************ \n"); printf("*
①加法运算
* \n"); printf("*
②减法运算
* \n"); printf("*
③乘法运算
* \n"); printf("*
④除法运算
* \n"); printf("*
⑤取余运算
* \n"); printf("*
⑥累加运算
* \n"); printf("*
⑦阶乘运算
* \n"); printf("*
⊙结束运算
* \n"); printf("************************************ \n"); printf("************************************ \n");}void main(){ int c,d;
/*用于做四则运算的两个数值的说明*/ double
/*用来做累加函数的两个参数值的说明*/ /*用于保存表单运算中函数的返回值*/
displaymenu();/*保存用户选择项目菜单项*/ while(1) {
printf("请选择你所进行运算项目的符号:");
scanf("%d",&choice); switch(choice)
/*加法计算*/
printf("请输入两个数字:");
scanf("%lf%lf",&a,&b);
result=sum(a,b);
printf("%lf+%lf的计算结果是:%lf\n",a,b,result);
/*减法计算*/
printf("请输入两个数字:");
scanf("%lf%lf",&a,&b);
result=sub(a,b);
printf("%lf-%lf的计算结果是:%lf\n",a,b,result);
/*乘法计算*/
printf("请输入两个数字:");
scanf("%lf%lf",&a,&b);
result=mul(a,b);
printf("%lf*%lf的计算结果是:%lf\n",a,b,result);
/*除法计算*/
scanf("%lf%lf",&a,&b);
if(b-0.0&EPS) printf("数字错误\n");
printf("请输入两个数字:");
result=divv(a,b);
printf("%lf/%lf的计算结果是:%lf\n",a,b,result);
/*取余计算*/
printf("请输入两个数字:");
scanf("%d%d",&c,&d);
result=rem(c,d);
printf("%d % %d的计算结果是:%d\n",c,d,result);
/*累加计算*/
printf("请输入两个整数");
scanf("%d%d",&c,&d);
intresult=addnumber(c,d);
printf("%d-%d的累加计算结果是:%d\n",c,d,intresult);
//阶乘计算
printf("请输入一个大于0小于10的整数字");
scanf("%d",&c);
if(c&0||c&10)
printf("请输入一个大于0小于10的整数字,数据错误。\n");
intresult=factor(c);
printf("%d的阶乘计算结果是:%d\n",c,intresult);
printf("谢谢使用。欢迎下次再用。\n");
printf("选择错误,程序结束\n");
登录百度帐号推荐应用
为兴趣而生,贴吧更懂你。或java double类型数据操作工具类
package&com.hojo.avengers.lib.
import&java.math.BigD
&*&@ClassName:&DoubleOperationUtils
&*&@Description:&封装double类型数据+-*%等运算操作
&*&@author&xuewenyu
&*&@date&日&下午3:20:27
public&class&DoubleOperationUtils&{
&&&&&*&修改精度
&&&&&*&@param&value
&&&&&*&@param&num
&&&&&*&@return
&&&&public&static&double&changeDecimal(double&value,&int&num)&{
&&&&&&&&BigDecimal&b&=&new&BigDecimal(value);
&&&&&&&&double&v&=&b.setScale(num,&4).doubleValue();
&&&&&&&&return&v;
&&&&&*&两个double相加方法
&&&&&*&@param&a
&&&&&*&@param&b
&&&&&*&@return
&&&&public&static&Double&doubleAdd(Double&a,&Double&b)&{
&&&&&&&&BigDecimal&b1&=&new&BigDecimal(Double.toString(a));
&&&&&&&&BigDecimal&b2&=&new&BigDecimal(Double.toString(b));
&&&&&&&&return&b1.add(b2).doubleValue();
&&&&&*&两个double相加方法,并保留指定精度
&&&&&*&@param&a
&&&&&*&@param&b
&&&&&*&@param&num
&&&&&*&@return
&&&&public&static&Double&doubleAdd(Double&a,&Double&b,&int&num)&{
&&&&&&&&return&changeDecimal(doubleAdd(a,&b),&num);
&&&&&*&两个double相减方法
&&&&&*&@param&a
&&&&&*&@param&b
&&&&&*&@return
&&&&public&static&Double&doubleSub(Double&a,&Double&b)&{
&&&&&&&&BigDecimal&b1&=&new&BigDecimal(Double.toString(a));
&&&&&&&&BigDecimal&b2&=&new&BigDecimal(Double.toString(b));
&&&&&&&&return&b1.subtract(b2).doubleValue();
&&&&&*&两个double相减方法,并保留指定精度
&&&&&*&@param&a
&&&&&*&@param&b
&&&&&*&@param&num
&&&&&*&@return
&&&&public&static&Double&doubleSub(Double&a,&Double&b,&int&num)&{
&&&&&&&&return&changeDecimal(doubleSub(a,&b),&num);
&&&&&*&两个double相乘方法
&&&&&*&@param&a
&&&&&*&@param&b
&&&&&*&@return
&&&&public&static&Double&doubleMul(Double&a,&Double&b)&{
&&&&&&&&BigDecimal&b1&=&new&BigDecimal(Double.toString(a));
&&&&&&&&BigDecimal&b2&=&new&BigDecimal(Double.toString(b));
&&&&&&&&return&b1.multiply(b2).doubleValue();
&&&&&*&两个double相乘方法,并保留指定精度
&&&&&*&@param&a
&&&&&*&@param&b
&&&&&*&@param&num
&&&&&*&@return
&&&&public&static&Double&doubleMul(Double&a,&Double&b,&int&num)&{
&&&&&&&&return&changeDecimal(doubleMul(a,&b),&num);
&&&&&*&两个double相除方法,并保留指定精度
&&&&&*&@param&a
&&&&&*&@param&b
&&&&&*&@param&scale
&&&&&*&@return
&&&&public&static&Double&doubleDiv(Double&a,&Double&b,&int&scale)&{
&&&&&&&&BigDecimal&b1&=&new&BigDecimal(Double.toString(a));
&&&&&&&&BigDecimal&b2&=&new&BigDecimal(Double.toString(b));
&&&&&&&&return&Double.valueOf(b1.divide(b2,&scale,&4).doubleValue());
& 开源中国(OSChina.NET) |
开源中国社区(OSChina.net)是工信部
指定的官方社区> c语言转移表有关问题,哪位大神帮看看
c语言转移表有关问题,哪位大神帮看看
xuliangchun888 & &
发布时间: & &
浏览:3 & &
回复:3 & &
悬赏:0.0希赛币
c语言转移表问题,哪位大神帮看看#include&stdio.h&
double&add(double,double);
double&sub(double,double);
double&div(double,double);
double&(*oper_fun[3])(double,double)={add,sub,div};
int&main()
double&a,b,
scanf("%f%f",&a,&b);
result=oper_fun[1](a,b);
printf("ret&is&%f",result);
double&add(double&a,double&b)
{return&a+b;
double&sub(double&a,double&b)
{return&a*b;
double&div(double&a,double&b)
{return&a/b;
键入&12&&34
怎么输出的数好大呀
哪位帮改改,运行结果正常发过来一个。
  #include&stdio.h&
double&add(double,double);
double&sub(double,double);
double&div(double,double);
double&(*oper_fun[3])(double,double)&=&{add,sub,div};
int&main(void)
double&a,b,
scanf("%lf%lf",&a,&b);
result&=&oper_fun[1](a,b);
printf("ret&is&%lf\n",result);
double&add(double&a,&double&b)
return&a+b;
double&sub(double&a,&double&b)
return&a*b;
double&div(double&a,&double&b)
return&a/b;
在linux下测试的,程序没问题,结果是:“ret&is&408.000000”。看到楼主是用V6.0的,可能是V6.0环境的问题吧。xuliangji777 & &
12:36:55 & &
& & (0)(0)引用你应该用%lf去接受double型数据,单步跟踪下你会发现,输入完a和b的值以后,内存中a,b并非你输入的值,而是一个很大的数。
scanf("%lf%lf",&a,&b);xuliangquan & &
12:36:55 & &
& & (0)(0)引用  #include&stdio.h&
double&add(double,double);
double&sub(double,double);
double&div(double,double);
double&(*oper_fun[3])(double,double)={add,sub,div};
int&main()
double&a,b,
scanf("%lf%lf",&a,&b);//改为%lf。。
result=oper_fun[1](a,b);
printf("ret&is&%f",result);
double&add(double&a,double&b)
return&a+b;
double&sub(double&a,double&b)
return&a*b;
double&div(double&a,double&b)
return&a/b;
liubinbin010 & &
12:36:55 & &
& & (0)(0)引用
本问题标题:
本问题地址:
温馨提示:本问答中心的任何言论仅代表发言者个人的观点,与希赛网立场无关。请对您的言论负责,遵守中华人民共和国有关法律、法规。如果您的言论违反希赛网问答中心的规则,将会被删除。
暂无合适的专家
&&&&&&&&&&&&&&&
希赛网 版权所有 & &&以下试题来自:
填空题以下程序的输出结果是 【9】 。
double sub(double x,double y,double z)
{ y-=1.0;
return z;
{ double a=2.5,b=9.0;
printf("function running result is:%6.1f\n",sub(b-a,a,A) );
} 参考答案function running result is:9.0
为您推荐的考试题库
你可能感兴趣的试题
1.填空题 参考答案[7]t>=le-5;2.填空题 参考答案n(n-1)/23.填空题 参考答案白盒法4.填空题 参考答案实例5.填空题 参考答案物理独立性
热门相关试卷
最新相关试卷Java基础部分题(参考答案)_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
Java基础部分题(参考答案)
上传于||文档简介
&&J​a​v​a​基​础​部​分​题​和​参​考​答​案
阅读已结束,如果下载本文需要使用0下载券
想免费下载更多文档?
定制HR最喜欢的简历
下载文档到电脑,查找使用更方便
还剩35页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢

我要回帖

更多关于 java double取整 的文章

 

随机推荐