多个for语句转为一个while语句

看到编程之美说,一个例子含有多个for语句,这样美吗?书上用一个while来控制的

假设 有2个数组arr1[],arr2[],要打印出arr1[]和arr2[]组合的数,你肯定会用2for ,本文转为一个while,多个for也同样适用

看代码如下:

#include "stdafx.h"
#include 
using namespace std;
int N_12[]={2,1};

#define N 2
void fun(int arr_1[],int arr_2[],int sum[])
{
	while(true)
	{
		
		cout<=0)
		{
			if(sum[k]+1<=N_12[k])//当前k层还可以增加的
			{
				sum[k]++;
				break;
			}else
			{
				sum[k]=0;k--;
			}
		}
		if(k<0) break;
	}
	
}
int _tmain(int argc, _TCHAR* argv[])
{
	int arr_1[]={1,2,3};
	int arr_2[]={4,5};
	int sum[2]={0,0};//表示数组arr_1 arr_2当前的下标
	fun(arr_1,arr_2,sum);
	return 0;
}


你可能感兴趣的:(算法)