qijixingzhe 2018-03-07 07:43 采纳率: 66.7%
浏览 755
已采纳

2重for循环,如何循环赋值,以及判定求和的条件

我这里先给个程序的样板,有可能是错误的啊,老铁,帮忙给看看啊。谢谢啦。
#include "stdafx.h"
#include
#include
int main()
{
int a, b, i = 0;
int sum = 0;
int b1[4] = {2,4,3 };
int b2[4] = { 3,4,2 };
for (a = 1; a <= 3; a++)

b1[a] = 2;
b1[a] = 4;
b1[a] = 3;
/*
这里是第一个for循环,就是希望能够循环赋值给一个数组,具体想要实现的功能是:
当a=1的时候,b1[1]=2,然后把这个数字存储到数组,方便下面做sum求和用。
当a=2的时候,b1[2]=4,然后把这个数字存储起来,方便下面做sum求和用。
当a=3的时候,b1[3]=3,然后把这个数字存储起来,方便下面做sum求和用。
*/

for (b = 1; b <= 3; b++)

b2[b] = 3;
b2[b] = 4;
b2[b] = 2;
/*
这里是第二个for循环,就是希望能够循环赋值给一个数组,具体想要实现的功能是:
当b=1的时候,b1[1]=3,然后把这个数字存储到数组,方便下面做sum求和用。
当b=2的时候,b1[2]=4,然后把这个数字存储起来,方便下面做sum求和用。
当b=3的时候,b1[3]=2,然后把这个数字存储起来,方便下面做sum求和用。
*/

sum = b1[a] + b2[b] ; /* 刚刚是希望能够循环给for 赋值,现在是希望能够根据刚刚的不同的值,来循环判定sum的和。*/
if (sum == 6)
{
printf("A:%2d B:%2d ", b1[a], b2[b]); /* 如果sum等于6,那么把b1[a],b2[b]的值打印出来。*/
i++;
if (i % 1 == 0)
printf("\n"); /* i用了统计次数,看看总共有多少种组合方法。每一种方法i都自动加1*/
}
printf("共有%d种办法\n", i);
return 0;
}

希望看见的运行结果是 :( b1[1] = 2 + b2[2] = 4 ) ==6 ==sum
( b1[3] = 3 + b2[1] = 3 ) ==6 ==sum
( b1[2] = 4 + b2[3] = 2 ) ==6 ==sum
......
共有x种办法;

注意:1 : 可以不用数组来赋值。也可以用变量,但是我要求的值是特定的值,比如当 b ==1的时候,某一个变量要等于3,然后要用这个变量来参与sum求和。判定为6的时候,把该变量打印出来。
2 :帮我看看sum 和那个等式有没有循环来判定,我是希望每一次循环都能判定一次sum求和
4:帮我看看我用for循环,循环赋值的时候是不是错啦?因为那个数组好像是从0开始的,我希望能够从1开始,如果要是从1开始,我给数组赋初值的时候是不是也赋值错啦。可以不用我的程序,我只是想演练一下自己的要实现的功能。
3 :小程序,也不难,希望能够帮我写一个完整的小程序。希望能够保留的功能是,有多少种办法也就是i能够算清楚。然后,sum=6所涉及的2个变量的值的全部组合情况能够全部打印出来。最后希望程序能够尽量简单一点,有个main函数就可以啦。最好是在我原来代码的基础上简单的改动一下。不要用count 这些编译器会报错。我用的是vs2015。希望用的包能够提醒一下。我好导入进去。

下面我把注释删掉:给一个完整程序,帮我修改一下:

#include "stdafx.h"
#include
#include
int main()
{
int a, b, i = 0;
int sum = 0;
int b1[4] = {2,4,3 };
int b2[4] = { 3,4,2 };
for (a = 1; a <= 3; a++)

b1[a] = 2;
b1[a] = 4;
b1[a] = 3;

for (b = 1; b <= 3; b++)

b2[b] = 3;
b2[b] = 4;
b2[b] = 2;

sum = b1[a] + b2[b] ;
if (sum == 6)
{
printf("A:%2d B:%2d ", b1[a], b2[b]);
i++;
if (i % 1 == 0)
printf("\n");
}
printf("共有%d种办法\n", i);
return 0;
}

谢谢啦老铁,双击666

  • 写回答

5条回答 默认 最新

  • qq_33066259 2018-03-07 08:16
    关注

    #include "stdafx.h"
    #include "windows.h"
    int main()
    {
    int c= 0;
    int sum = 0;
    int b1[4] = {2,4,3 };
    int b2[4] = { 3,4,2 };
    for(int i=0;i<4;i++){
    for(int j=0;j<4;j++){
    sum=b1[i]+b2[j];
    if(sum==6){
    printf("A:%2d B:%2d \n ", b1[i], b2[j]);
    c++;
    }

        }
    

    }
    printf("共有%d种办法\n", c);

    system("pause");
    return 0;

    }

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

报告相同问题?

悬赏问题

  • ¥50 comsol稳态求解器 找不到解,奇异矩阵有1个空方程返回的解不收敛。没有返回所有参数步长;pid控制
  • ¥15 怎么让wx群机器人发送音乐
  • ¥15 fesafe材料库问题
  • ¥35 beats蓝牙耳机怎么查看日志
  • ¥15 Fluent齿轮搅油
  • ¥15 八爪鱼爬数据为什么自己停了
  • ¥15 交替优化波束形成和ris反射角使保密速率最大化
  • ¥15 树莓派与pix飞控通信
  • ¥15 自动转发微信群信息到另外一个微信群
  • ¥15 outlook无法配置成功