| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 923 人关注过本帖
标题:[求助]不知是否能用四则运算构成的循环
只看楼主 加入收藏
chy211
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2009-8-7
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:17 
[求助]不知是否能用四则运算构成的循环
最近突发奇想,如:5 5 5 1=24;想编写程序,但小弟技术实在有限(菜菜)..
就换了个简单的,如10 2=20;一看就可以知道是用*法,想用加减乘除构成循环,然后进行判断,然后输出所需的符号..
不知能够构成这一循环,在此请教请教各位朋友.
搜索更多相关主题的帖子: 运算 
2009-08-07 17:25
wxjeacen
Rank: 7Rank: 7Rank: 7
等 级:禁止访问
帖 子:1291
专家分:628
注 册:2009-3-22
收藏
得分:0 
递归回溯。

如果不代括号的,因该很简单。


我记得貌似群里面以前有个

1 2 3 4 5 6 7 8 9只算加减的求所有解的题目
我贴了代码,貌似应该可以。

[ 本帖最后由 wxjeacen 于 2009-8-7 17:59 编辑 ]

生命不熄,战斗不止.
2009-08-07 17:58
CrystalFan
Rank: 8Rank: 8
来 自:江苏南京
等 级:蝙蝠侠
帖 子:187
专家分:802
注 册:2009-7-30
收藏
得分:20 
可以啊,用for加switch语句就可以了:
程序代码:
main()
{
    int a,b,c,i;
    char marks[5]={"+-*/"};
    printf("Please input a b:\n");
    scanf("%d%d",&a,&b);
    for(i=0;i<4;i++)
    {
      switch(i)
      {
       case 0:c=a+b;break;
       case 1:c=a-b;break;
       case 2:c=a*b;break;
       case 3:
          if(b!=0)
          c=a/b;
          else return;
          break;
      }
      printf("a%cb=%d\n",marks[i],c);
    }
}


[ 本帖最后由 CrystalFan 于 2009-8-7 18:13 编辑 ]
收到的鲜花
  • chy2112009-08-07 20:54 送鲜花  1朵   附言:我很赞同
2009-08-07 18:01
wxjeacen
Rank: 7Rank: 7Rank: 7
等 级:禁止访问
帖 子:1291
专家分:628
注 册:2009-3-22
收藏
得分:0 
回复 3楼 CrystalFan


我想问,你的代码能跑吗?

生命不熄,战斗不止.
2009-08-07 18:04
CrystalFan
Rank: 8Rank: 8
来 自:江苏南京
等 级:蝙蝠侠
帖 子:187
专家分:802
注 册:2009-7-30
收藏
得分:0 
回复 4楼 wxjeacen

现在能跑了
2009-08-07 18:14
wxjeacen
Rank: 7Rank: 7Rank: 7
等 级:禁止访问
帖 子:1291
专家分:628
注 册:2009-3-22
收藏
得分:0 
5 5 5 1=24

我想问,你怎么实现?

生命不熄,战斗不止.
2009-08-07 18:29
CrystalFan
Rank: 8Rank: 8
来 自:江苏南京
等 级:蝙蝠侠
帖 子:187
专家分:802
注 册:2009-7-30
收藏
得分:0 
回复 8楼 wxjeacen

我们只是要提供一个思路,他的主要问题是问能否对四则符号进行循环,这是根本问题。
他是在专研5 5 5 1=24的问题,而不是要一段代码。
如果他指明要代码,我或许会花点时间帮忙。
而且,你都说你有了,我又何必多此一举呢!
2009-08-08 01:26
CrystalFan
Rank: 8Rank: 8
来 自:江苏南京
等 级:蝙蝠侠
帖 子:187
专家分:802
注 册:2009-7-30
收藏
得分:0 
回复 2楼 wxjeacen

你这样的回答才是文不对题。
2009-08-08 01:27
wxjeacen
Rank: 7Rank: 7Rank: 7
等 级:禁止访问
帖 子:1291
专家分:628
注 册:2009-3-22
收藏
得分:0 
我随便写了个算21点的。

不考虑乘除法的优先。输入最后以字母结束。

跟你那个比看看。

[ 本帖最后由 wxjeacen 于 2009-8-8 12:30 编辑 ]

test_c++.tar.gz (84.35 KB)


Screenshot26.png (112.63 KB)
图片附件: 游客没有浏览图片的权限,请 登录注册

生命不熄,战斗不止.
2009-08-08 12:28
wxjeacen
Rank: 7Rank: 7Rank: 7
等 级:禁止访问
帖 子:1291
专家分:628
注 册:2009-3-22
收藏
得分:0 
wxjeacen@wxjeacen-laptop:~/linux/test_c++$ ./outcome
Input the numbers you wanna calculate:
please ended with an alphabet.
10 5 5 1 f
10+5+5+1=21
wxjeacen@wxjeacen-laptop:~/linux/test_c++$ ./outcome
Input the numbers you wanna calculate:
please ended with an alphabet.
4 4 4 4 5 f
4+4+4+4+5=21
4+4-4*4+5=21
4-4+4*4+5=21
4*4+4-4+5=21
4*4-4+4+5=21
4*4*4/4+5=21
4*4/4*4+5=21
4/4*4*4+5=21
wxjeacen@wxjeacen-laptop:~/linux/test_c++$


生命不熄,战斗不止.
2009-08-08 12:31
快速回复:[求助]不知是否能用四则运算构成的循环
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.013789 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved