qijixingzhe 2018-03-06 10:36 采纳率: 66.7%
浏览 1568
已采纳

5重循环,如何循环赋值给数组?

#include "stdafx.h"
#include
#include
int main()
{
int a, b, c, d, e, i = 0;
int sum = 0;
int b1[31] = { 1,4,3,4,5,6,7,0 };
int b2[31] = { 1,1,3,4,5,3,7,0 };
int b3[31] = { 1,7,3,4,5,6,7,0 };
int b4[31] = { 1,1,3,4,5,4,7,0 };
int b5[31] = { 1,1,3,4,5,6,7,0 };
for (a = 1; a <= 8; a++)
{
b1[a] = 1;
b1[a] = 4;
b1[a] = 3;
b1[a] = 4;
b1[a] = 5;
b1[a] = 6;
b1[a] = 7;
b1[a] = 0;
}

for (b = 1; b <= 8; b++)
{
b2[b] = 1;
b2[b] = 1;
b2[b] = 3;
b2[b] = 4;
b2[b] = 5;
b2[b] = 3;
b2[b] = 7;
b2[b] = 0;
}
for (c = 1; c <= 8; c++)
{
b3[c] = 1;
b3[c] = 7;
b3[c] = 3;
b3[c] = 4;
b3[c] = 5;
b3[c] = 6;
b3[c] = 7;
b3[c] = 0;
}
for (d = 1; d <= 8; d++)
{
b4[d] = 1;
b4[d] = 1;
b4[d] = 3;
b4[d] = 4;
b4[d] = 5;
b4[d] = 4;
b4[d] = 7;
b4[d] = 0;
}
for (e = 1; e <= 8; e++)
{
b5[e] = 1;
b5[e] = 1;
b5[e] = 3;
b5[e] = 4;
b5[e] = 5;
b5[e] = 6;
b5[e] = 7;
b5[e] = 0;
}

                            sum = b1[a] + b2[b] + b3[c] + b4[d] + b5[e];

if (sum ==5)
{
printf("A:%2d B:%2d C:%2d D:%2d E:%2d ", b1[a], b2[b], b3[c], b4[d], b5[e]);
i++;
if (i % 1 == 0)
printf("\n");
}
printf("共有%d种办法\n", i);
return 0;
}
我想当a=1的时候b1【1】=1,依次类推,最后判定sum==5把它们分别打印出来,但是运行结果却现实共有0种办法,应该最少有一种组合的呀。问题出在哪里啦?5重for循环,如何用数组给它分别循环赋值呢?请教

  • 写回答

5条回答 默认 最新

  • wjk_jack 2018-03-06 11:05
    关注

    程序是顺序执行的,到计算sum那句时候所有的for循环都执行结束了, a, b, c, d, e都等于8,b1[8]到b5[8]都赋值为0了。所以你的得到0种组合。
    不知道你这是要干什么。可以把你要的效果说下,帮你分析。

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

报告相同问题?

悬赏问题

  • ¥20 delta降尺度方法,未来数据怎么降尺度
  • ¥15 c# 使用NPOI快速将datatable数据导入excel中指定sheet,要求快速高效
  • ¥15 高德地图点聚合中Marker的位置无法实时更新
  • ¥15 DIFY API Endpoint 问题。
  • ¥20 sub地址DHCP问题
  • ¥15 delta降尺度计算的一些细节,有偿
  • ¥15 Arduino红外遥控代码有问题
  • ¥15 数值计算离散正交多项式
  • ¥30 数值计算均差系数编程
  • ¥15 redis-full-check比较 两个集群的数据出错