当前位置: 首页求只需要加减乘除和带括号的四则运算C++程序
后台-插件-广告管理-内容页头部广告(手机)

求只需要加减乘除和带括号的四则运算C++程序

作者:未知侠名时间:2022-11-18 18:51:50
http://tieba.baidu.com/f?kz=540424284
网上很多源码,搜下吧,上面的个简单的

天啊!撞枪口上了!我前几天才做出来的VUi错哇爱剧

#include<stdio.h>
#include<conio.h>
void calprint(int);
int cala(int x,int y,int z)    /*选择运算加减乘除,便于循环*/
{ int a;
 if(z==0)
 { a=x+y;
 }
 else if(z==1)
 { a=x-y;
 }
 else if(z==2)
 { a=x*y;
 }
 else if(z==3)
 { a=x/y;
 }
 return a;
}
void main()    /*主函数*/
{ int ia,ib,ic,id,ie,ig,ih,ii,im;
 int inum[4];    /*将四个数存在数组里,便于循环*/
 int itatle;
 printf("input the numbers:\n");
 for(ia=0;ia<4;ia++)
 { scanf("%d",&inum[ia]);
 }
 for(ia=0;ia<4;ia++)    /*判断第一层运算方法*/
 { for(ib=0;ib<4;ib++)    /*判断第二层运算方法*/
  { for(ic=0;ic<4;ic++)    /*判断第三层运算方法*/
   { for(id=0;id<4;id++)    /*循环数组里的数字*/
    { for(ie=0;ie<4;ie++)
    { for(ig=0;ig<4;ig++)
    { for(ih=0;ih<4;ih++)
    { itatle=0;
    if(ic==0||ic==1||ic==2||((ic==3)&&(inum[ih]>0)&&(inum[ig]%inum[ih]==0)))    /*ic=3时,除数不能为零*/
    { ii=cala(inum[ig],inum[ih],ic);
    if(ib==0||ib==1||ib==2||((ib==3)&&(ii>0)&&(inum[ie]%ii==0)))    /*ib=3时,除数不能为零*/
    { im=cala(inum[ie],ii,ib);
    if(ia==0||ia==1||ia==2||((ia==3)&&(im>0)&&(inum[id]%im==0)))    /*ia=3时,除数不能为零*/
    { itatle=cala(inum[id],im,ia);    /*第一种运算格式:a,(b,(c,d))
    if((itatle==24)&&(unequals(id,ie,ig,ih)==0))    /*判断结果为24并且数组下标都不相等的时候*/
    { printf("24 = %d",inum[id]);
    calprint(ia);
    if((ia>=2)&&(ib<=1)||(ia==ib))
    { printf("( ");
    }
    printf("%d",inum[ie]);
    calprint(ib);
    if((ib>=2)&&(ic<=1)||(ib==ic))    /*判断加开括号*/
    { printf("( ");
    }
    printf("%d",inum[ig]);
    calprint(ic);
    printf("%d",inum[ih]);
    if((((ia>=2)&&(ib<=1)||(ia==ib))&&!((ib>=2)&&(ic<=1)||(ib==ic)))||(!((ia>=2)&&(ib<=1)||(ia==ib))&&((ib>=2)&&(ic<=1)||(ib==ic))))
    { printf(" )\n");
    }
    else if(((ia>=2)&&(ib<=1)||(ia==ib))&&((ib>=2)&&(ic<=1)||(ib==ic)))    /*判断加关括号*/
    { printf(" ) )\n");
    }
    else
    { printf("\n");
    }
    break;
    }
    }
    }
    }
    if((ia==0||ia==1||ia==2||((ia==3)&&(inum[ie]>0)&&(inum[id]%inum[ie]==0)))&&(itatle!=24))
    { if(ib==0||ib==1||ib==2||((ib==3)&&(inum[ih]>0)&&(inum[ie]%inum[ih]==0)))
    { ii=cala(inum[id],inum[ie],ia);
    im=cala(inum[ig],inum[ih],ib);
    if(ic==0||ic==1||ic==2||((ic==3)&&(im>0)&&(ii%im==0)))
    { itatle=cala(ii,im,ic);    /*第二种运算格式:(a,b),(c,d)*/
    if((itatle==24)&&(unequals(id,ie,ig,ih)==0))
    { printf("24 = ");
    printf("( %d",inum[id]);
    calprint(ia);
    printf("%d )",inum[ie]);
    calprint(ic);
    printf("( %d",inum[ig]);
    calprint(ib);
    printf("%d )\n",inum[ih]);
    break;
    }
    }
    }
    }
    else
    { continue;
    }
    }
    }
    }
    }
   }
  }
 }
}
void calprint(int y)    /*加减乘除符号输出*/
{ if(y==0)
 { printf(" + ");
 }
 else if(y==1)
 { printf(" - ");
 }
 else if(y==2)
 { printf(" * ");
 }
 else if(y==3)
 { printf(" / ");
 }
}
int uneaqual(int ia,int ib)    /*判断两个数是否相等*/
{ int is;
 if(ia!=ib)
 { is=0;
 }
 else
 { is=1;
 }
 return is;
}
int unequals(int ia,int ib,int ic,int id)    /*判断四个数是否相等*/
{ int it;
 if((uneaqual(ia,ib)==0)&&(uneaqual(ia,ic)==0)&&(uneaqual(ia,id)==0)&&(uneaqual(ib,ic)==0)&&(uneaqual(ib,id)==0)&&(uneaqual(ic,id)==0))
 { it=0;
 }
 else
 { it=1;
 }
 return it;
}
缺点是不能自动判断什么时候可以消去括号,输出结果时会出现24=(a×b)+(c×d)的情况VUi错哇爱剧

以上是用turbo c做出来的,turbo c不支持输出汉字VUi错哇爱剧

    站长提醒大家:以上内容,未识真伪,仅供参考。理性上网,以免过度。谨慎广告,危及钱财。
版权声明:本信息由系统自动搜集网络信息,本站尊重网络信息的版权问题,本站所有内容仅供学习使用,版权归原作者所有,若有来源错误或者侵犯您的合法权益,您可通过邮箱与我们取得联系,我们将及时进行处理。

图片内,上方是驻车制动符号,那下方A符号是啥?

这是自动驻车的按键,是AUTO HOLD的缩写,按下这个按钮后,仪表盘上会显示这个符号,也就相当于系统自动帮你拉手刹,在前进时,系统会自动松开手刹,在停车时,会自动刹住后轮防止倒溜
2022-11-18 14:55:10
图片内,上方是驻车制动符号,那下方A符号是啥?

龙胜县县委书记

龙胜县的现任县委书记就是周卉,是在2013年8月担任现职的,此前是桂林市住房和城乡建设局局长、党组书记。龙胜县委书记周卉 再看看别人怎么说的。
2022-11-18 08:15:46
龙胜县县委书记

水泽节变火天大有,求问感情

我道行不高,这个卦斗胆解读下:上坎下兑为水泽节卦,卦为上上卦,万物泽有水而溢;然后变卦中的动爻比较多,但上离下乾为火天大有卦,这个卦也非常好,顺天依行即可,所以连起来解读的话,就是
2022-11-17 20:01:21
水泽节变火天大有,求问感情

我从甲方将工程款结到后,未经公司同意用于发工人工资了,此行为构成职务侵占罪吗?

成立!你将公司的应收账款资产据为己有,你伤害了公司的合法利益!如果你将该款项收回后上交公司,那你只能是替公司讨回债务,因为甲方和公司是债权和债务的主体,而不是你!你适合公司挂
2022-11-17 19:22:57
我从甲方将工程款结到后,未经公司同意用于发工人工资了,此行为构成职务侵占罪吗?

我在库尔勒中国人寿贷的款,六个月的期限,再过几天到还款期了,但是我现在还不上,能不能申请续借,只还

可以,你用的应该是保单,跟你的业务员说声还要继续贷,只还利息,材料蛮方便的。你好! 具体不清楚,快点跟银行对接,否则后果很严重呢 如有疑问,请追问。
2022-11-16 16:56:48
我在库尔勒中国人寿贷的款,六个月的期限,再过几天到还款期了,但是我现在还不上,能不能申请续借,只还

哈士奇怎么样 才是 最纯正的 品种

怎样选择购买纯种哈士奇,请看如下 1 最好要现场看到小狗的父母犬。 2 最好当场可以拿到小狗的血统书,要检查血统是否纯正。 3 如果选的是公狗,要把小狗带回家之前,请先检查小狗
2022-11-16 09:02:13
哈士奇怎么样 才是 最纯正的 品种

魔兽世界火法点燃伤害怎么计算 点燃伤害机制解析

如果你是平民,无忧穿奇 网游不需要花太多的时间及精力 装备狂暴,回收超高我看懂楼主的问题了。。。下面给你答案 新的点燃算法是这样的。当某个法师事先已经有一个点燃效果在
2022-11-16 08:12:24
魔兽世界火法点燃伤害怎么计算 点燃伤害机制解析

震惊!!为什么家里的泰迪狗把昨天生的一直崽给吃了?~!!!

有两种可能,第一,你们在处理的时候是不是给这只小狗清洗过,或者接触了别的狗用的东西,母狗没有在这只狗身上问道自己的气味,(狗靠气味来辨别孩子是不是自己的)所以认为不是自己的孩
2022-11-16 06:39:55
震惊!!为什么家里的泰迪狗把昨天生的一直崽给吃了?~!!!

加入朋友的店,投资五万分红30%交房租的时候也要拿出30%吗?

主要是日常进销存、现金银行存款、费用、盈利等是否有建帐,如果每月将店面的现金存款都作为利润分红了,也就是说付店房租时,已经没有货币资金(现金和存款)支付,你就要按不足部份承
2022-11-15 06:40:16
加入朋友的店,投资五万分红30%交房租的时候也要拿出30%吗?

谁知道哪里现在有最新struts+spring+hibernate面试题及答案?

这些都是分开问的吧,一般都问struts1跟struts2的区别在哪里,spring好处,hibernate的机制等等strut,和hibernate分别代表视图层和控制层,是struts的视图层的数据传给hiberna
2022-11-14 20:28:14
谁知道哪里现在有最新struts+spring+hibernate面试题及答案?

分类栏目

禁止搜索