| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2533 人关注过本帖
标题:[求助]计算问题
只看楼主 加入收藏
solitudeone
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2016-7-6
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:5 
[求助]计算问题
想要使
a,b,c
d, ,e
f,g,h
四边和为15,但程序运行不出来;
#include <iostream>
using namespace std;
int a=1,b=2,c=3,d=4,e=5,f=6,g=7,h=8;
int sh=a+b+c;
int s=a+d+f;
int rs=c+e+h;
int ds=f+g+h;
int p;
int main()
{
jiance:
{if (a=9)
{
    a=1;
}
else
if (b=9)
{
    b=1;
}
else
if (c=9)
{
    c=1;
}
else
if (d=9)
{
    d=1;
}
else
if (e=9)
{
    e=1;
}
else
if (f=9)
{
    f=1;
}
else
if (g=9)
{
    g=1;
}
else
if (h=9)
{
    h=1;
}
}
   

    if ((sh!=15)&(s!=15)&(rs!=15)&(ds!=15))
    {
        goto jiance;
        sh=a+b+c;
        s=a+d+f;
        rs=c+e+h;
        ds=f+g+h;
        a++;b++;c++;s++;e++;f++;g++;h++;
    }
    cout<<a<<"\t"<<b<<"\t"<<c<<endl;
    cout<<d<<"\t\t"<<e<<endl;
    cout<<f<<"\t"<<g<<"\t"<<h<<endl;
    return 0;
}
搜索更多相关主题的帖子: include 
2016-07-18 11:41
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9025
专家分:54030
注 册:2011-1-18
收藏
得分:0 
贴出题目要求吧,这是最基本的!
为什么一个提问的人,却不肯明白的告诉别人要解决什么问题?

从你混乱的代码中,我只猜出一部分要求
a,b,c
d, ,e
f,g,h
要求4条边的每一个边之和都为15
每个字母的取值范围是大于等于1小于等于9
每个字母的取值是否允许相同不知道
2016-07-18 13:20
solitudeone
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2016-7-6
收藏
得分:0 
回复 2楼 rjsp
在1-8的范围内使用不重复的数字使各边之和等于15
2016-07-18 16:19
yangfrancis
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:贵宾
威 望:141
帖 子:1510
专家分:7661
注 册:2014-5-19
收藏
得分:0 
回复 3楼 solitudeone
if语句是想做赋值还是逻辑判断?如果是逻辑判断应该写==了
2016-07-18 20:49
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9025
专家分:54030
注 册:2011-1-18
收藏
得分:20 
回复 3楼 solitudeone
程序代码:
#include <stdio.h>

int main( void )
{
    for( int a=1; a!=9; ++a )
    for( int c=1; c!=9; ++c )
    for( int f=1; f!=9; ++f )
    for( int h=1; h!=9; ++h )
    {
        int b = 15-a-c;
        int d = 15-a-f;
        int e = 15-c-h;
        int g = 15-f-h;

        int mask = 0;
        mask |= 1<<a;
        mask |= 1<<b;
        mask |= 1<<c;
        mask |= 1<<d;
        mask |= 1<<e;
        mask |= 1<<f;
        mask |= 1<<g;
        mask |= 1<<h;
        if( mask == 0x1FE )
        {
            printf( "%d%d%d\n%d %d\n%d%d%d\n\n", a,b,c,d,e,f,g,h );
        }
    }

    return 0;
}
输出
357
4 2
816

348
5 1
726

627
1 5
843

618
2 4
753

753
2 4
618

726
5 1
348

843
1 5
627

816
4 2
357

程序代码:
#include <stdio.h>

int main( void )
{
    for( int a=1; a!=9; ++a )
    for( int c=a+1; c!=9; ++c )
    for( int f=c+1; f!=9; ++f )
    for( int h=a+1; h!=9; ++h )
    {
        int b = 15-a-c;
        int d = 15-a-f;
        int e = 15-c-h;
        int g = 15-f-h;

        int mask = 0;
        mask |= 1<<a;
        mask |= 1<<b;
        mask |= 1<<c;
        mask |= 1<<d;
        mask |= 1<<e;
        mask |= 1<<f;
        mask |= 1<<g;
        mask |= 1<<h;
        if( mask == 0x1FE )
        {
            printf( "%d%d%d\n%d %d\n%d%d%d\n\n", a,b,c,d,e,f,g,h );
        }
    }

    return 0;
}
输出
357
4 2
816


2016-07-19 08:37
solitudeone
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2016-7-6
收藏
得分:0 
回复 5楼 rjsp
谢谢!思路错了。
2016-07-19 10:18
快速回复:[求助]计算问题
数据加载中...
 
   



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

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