qijixingzhe 2018-05-15 23:31 采纳率: 66.7%
浏览 1331
已采纳

用c语言算一个简单的循环判断,或者递归

老铁帮我加一段代码。谢谢。

#include "stdafx.h"
#include
int main()
{
int a, b, c, d, e, i = 0;
int b_a, c_b, d_c, e_d=0;
for (a = 1; a <= 15; a++)
for (b = 1; b <= 15; b++)
for (c = 1; c <= 15; c++)
for (d = 1; d <= 15; d++)
for (e = 1; e <= 15; e++)
if (b - a > 0 && c - b > 0 && d - c > 0 && e - d > 0)
{
b_a=b-a;
c_b=c-a;
d_c=d-c;
e_d=e-d;
/*在这里帮我加上一段逻辑控制,用递归算一算下面的6种关系,把6种情况里面的符合条件 的 a,b,c ,d,e的值全部打印出来。比如:b-a=c-b,等等*/

printf("A:%2d B:%2d C:%2d D:%2d E:%2d ", a, b, c, d, e);
i++;
if (i % 1 == 0)
printf("\n");
}
}
}
}
printf("一共%d种\n", i);
return 0;
}
需要循环控制的6种小逻辑。
1 。b-a=c-b并且d-c≠e-d并且b-a≠d-c并且b-a≠e-d
2。 b-a=e-d并且c-b≠d-c并且b-a≠c-b并且b-a≠d-c
3。 b-a=d-c并且c-b≠e-d并且b-a≠c-b并且b-a≠e-d
4。 c-b=d-c并且b-a≠e-d并且c-b≠b-a并且c-b≠e-d
5。 d-c=e-d并且b-a≠c-b并且d-c≠b-a并且d-c≠c-b
6。 c-b=e-d并且b-a≠d-c并且c-b≠b-a并且c-b≠d-c

打个比方,有4个球A,B,C,D。从这4个球里面选择2个球,其中A等于B的时候,其他的球B不等于C,B不等于D,C不等于D.

希望懂的老铁能帮我加一段逻辑控制。把代码添加到这里。

/*在这里帮我加上一段逻辑控制,用递归算一算下面的6种关系,把6种情况里面的符合条件 的 a,b,c ,d,e的值全部打印出来。比如:b-a=c-b,等等*/

  • 写回答

6条回答 默认 最新

  • 水里的魚儿 2018-05-16 02:20
    关注

    整理下你的意思:五个整型数值(1-15),后边的数值依次比前面的大,存在并且只有一组相邻的数值差相等;
    简化修正你的代码(for循环,减去不必要的循环;c_b=c-b,你写成了c-a;
    因为四个数值差你都定义了变量,的确不符合使用循环,使用循环的话可以定义成数组;这里用相等的个数==1进行判断)
    int main()
    {
    int a, b, c, d, e, i = 0;
    int b_a, c_b, d_c, e_d=0;
    int equalNum=0;
    for (a = 1; a <= 11; a++)
    for (b = a+1; b <= 12; b++)
    for (c = b+1; c <= 13; c++)
    for (d = c+1; d <= 14; d++)
    for (e = d+1; e <= 15; e++)
    {
    b_a=b-a;
    c_b=c-b;
    d_c=d-c;
    e_d=e-d;
    /*在这里帮我加上一段逻辑控制,用递归算一算下面的6种关系,把6种情况里面的符合条件 的 a,b,c ,d,e的值全部打印出来。比如:b-a=c-b,等等*/
    equalNum=0;
    if(b_a==c_b) equalNum++;
    if(b_a==d_c) equalNum++;
    if(b_a==e_d) equalNum++;
    if(c_b==d_c) equalNum++;
    if(d_c==e_d) equalNum++;
    if(equalNum==1){
    printf("A:%2d B:%2d C:%2d D:%2d E:%2d ", a, b, c, d, e);
    printf("\n");
    i++;
    }
    }
    printf("一共%d种\n", i);
    }
    运行结果如下:
    图片说明

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(5条)

报告相同问题?

悬赏问题

  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!