求此C++源程序的详细解读!题目是输入4个数用四则运算计算出24!急!

求此C++源程序的详细解读!题目是输入4个数用四则运算计算出24!急!,第1张

题目:输入任意四个整数(0到10),运算符只有加减乘除,还有括号每个数只能且必须用一次。要求判断这些表达的结果中是否有24。如果有,输出计算表达式:如输入4,6,1,1 输出 4611 =24 (允许有括号)。

源程序

现在加注释如下:其中 不显示“can not get 24!” 已经更改,试试吧

#include"stdioh"

#include"iostream"

using namespace std;

int number(int a,int b,int c,int d );

char m[]={'+','-','','/'};//运算符

int main(){

// int a,b,c,d,e,i,n;//定义变量,n没有初始化,应定义为0改为如下

int a,b,c,d,e,i,n=0;//定义变量,n初始化为0

cout<<"please input 4 numbers(1~9):"<<endl;//输出提示信息。

cin>>a>>b>>c>>d;//输入四个数

for(i=0;i<4;i++){//轮换四次,所有可能的运算都包括在内了。

if(i==0)//第一次

{//不交换数值。

if(number(a,b,c,d))

n++;//成功计数加1

}

else //否则交换数值

{ e=a;a=b;b=c;c=d;d=e;

if(number(a,b,c,d))

n++;

}}

if(!n)//没有一次成功

printf("can not get 24!\n");//显示不能构成24点

return 0;

}

//运算子

class sum{

public:

sum():c('+'){};

double operator() (double x,double y);函数运算符 operator()

char c;//运算符

};

////////////////////////////////////////////////

//计算函数的实现

// C++的函数运算符 operator()可以带任意多个参数,这里带两个参数。

double sum::operator() (double x,double y){

switch(c){ 根据 运算符c ,来实现加减乘除等,不同的运算

case '+':

return x+y;

case '-':

return x-y;

case '':

return xy;

case '/':

if(y==0) return 0xFFFFFFFF;

return x/y;

default:

return 0;

}

}sum f,g,h;//定义三个算子,四个数用完,只要计算三次。

int number(int a,int b,int c,int d ){

(double)a;(double)b;(double)c;(double)d;

int t; t=0;

for(int i=0;i<4;i++)

{

fc=m[i]; //算子f遍历+-/:

for(int j=0;j<4;j++)

{

gc=m[j];//算子f遍历+-/:

for(int k=0;k<4;k++)

{

hc=m[k];//算子f遍历+-/:

if ((int)h(g(f(a,b),c),d)==24) // ((a,b),c),d计算顺序,成功t加1

{ cout<<"(("<<a<<fc<<b<<")"<<gc<<c<<")"<<hc<<d<<"=24"<<endl;++t;}

if ((int)g(f(a,b),h(c,d))==24) // ((a,b) (c,d))计算顺序,成功t加1

{ cout<<"("<<a<<fc<<b<<")"<<gc<<"("<<c<<hc<<d<<")=24"<<endl;++t;}

if ((int)h(f(a,g(b,c)),d)==24) // ((a,(b,c)),d 计算顺序,成功t加1

{ cout<<"("<<a<<fc<<"("<<b<<gc<<c<<"))"<<hc<<d<<"=24"<<endl;++t;}

if ((int)f(a,h(g(b,c),d))==24) // a,((b,c),d)计算顺序,成功t加1

{ cout<<a<<fc<<"(("<<b<<gc<<c<<")"<<hc<<d<<")=24"<<endl;++t;}

}

}

} if(t)

return 1;//t!=0即t>0 至少成功一次

else

return 0;;//t==0即一次也没有成功。

}

因为n没有初始化为0

所以不能计算出24的数字后,不显示“can not get 24!”

#include<stdioh>

float fun(float r,float h,float s)

{s=231416r(r+h);

 return 31416rrh;

}

int main()

{float r,h,s,v;

scanf("%f%f",&r,&h);

v=fun(r,h,&s);

printf("表面积=%3f\n体积=%3f\n",s,v);

return 0;

}

源程序量是指在编写某个软件或系统时编写的源代码的行数,它可以用来衡量项目的大小。源程序量可以通过查看源代码文件的行数来测量,也可以使用工具来计算源程序量,如SLOCCount,它可以根据某种语言(如C)来统计源代码文件的行数。源程序量的大小可以用来比较不同项目的大小,可以用来估算项目完成的时间,也可以用来估算项目的成本。

以上就是关于求此C++源程序的详细解读!题目是输入4个数用四则运算计算出24!急!全部的内容,包括:求此C++源程序的详细解读!题目是输入4个数用四则运算计算出24!急!、求完整C程序源代码:使用指针自定义一个函数完成圆柱体表面积及体积的计算,要求表面积由形参带回主函数...、源程序量怎么填写等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/10136514.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存