我是靠谱客的博主 精明秀发,最近开发中收集的这篇文章主要介绍给出5个数字,前4个数字做四则运算…,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

#include
#include
using namespace std;
char fuhao[4]={'+','-','*','/'};
bool caculate(int f[3],double shuzi[5]);
int main()
{
 int i,j,k;
 double shuzi[5];
 int f[3];
 while(1)
 {
  cout<<"请输入五个数字"<<endl;
  bool flag=0;
  for(i=0;i<5;i++)
   cin>>shuzi[i];
  for(i=0;i<4;i++)
   for(j=0;j<4;j++)
    for(k=0;k<4;k++)
    {
     f[0]=i;
     f[1]=j;
     f[2]=k;
     if(caculate(&f[0],&shuzi[0])==1)
     {
      flag=1;
      printf("%.2lf%c%.2lf%c%.2lf%c%.2lf = %.2lfn",shuzi[0],fuhao[i],shuzi[1],fuhao[j],shuzi[2],fuhao[k],shuzi[3],shuzi[4]);
     }
    }
    if(flag==0)
     cout<<"无法组成四则运算"<<endl;
 }
}
bool caculate(int f[3],double shuzi[5])
{
 double num[5];
 int i=0,j=0;
 bool flag=0;
 memset(num,'',sizeof(num));
 num[0]=shuzi[0];
 while(i<3)
 {
  //fuhao[f[i]];
  //shuzi[i+1];
  if(fuhao[f[i]]=='/' && shuzi[i+1]==0)
  {
   cout<<"除数不能为0"<<endl;
   flag=1;
   break;
  }
  switch(fuhao[f[i]])
  {
  case '*':num[j]*=shuzi[i+1];break;
  case '/':num[j]/=shuzi[i+1];break;
  case '+':num[++j]=shuzi[i+1];break;
  case '-':num[++j]=-shuzi[i+1];
  }
  i++;
 }

 if(flag==0)
 {
  double ans=0;
  for(j;j>=0;j--)
   ans+=num[j];
  if(ans==shuzi[4])
   return 1;
  else
   return 0;
 }
 else
  return 0;
}

最后

以上就是精明秀发为你收集整理的给出5个数字,前4个数字做四则运算…的全部内容,希望文章能够帮你解决给出5个数字,前4个数字做四则运算…所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(52)

评论列表共有 0 条评论

立即
投稿
返回
顶部