为什么这个代码没有输出结果呀?

/*将1,2,…,9 共 9个数分成三组,分别组成三个三位数,且使这三个三位数的比例是 1:2:3,
试求出所有满足条件的三个三位数。

【输入形式】

*/

#include<iostream>
#include<cstring>
using namespace std;
int main()
{
	int i,j,k,m,s=0;
	int a[10];
	
	for(i=123;3*i<=987;i++)
	{
		//int a[10]={0,0,0};
		for(m=0;m<10;m++)
		a[m]=0;
		a[i/100]=1;
		a[i/10%10]=1;
		a[i%10]=1;
		j=2*i;
		a[j/100]=1;
		a[j/10%10]=1;
		a[j%10]=1;
		k=3*i;
		a[k/100]=1;
		a[k/10%10]=1;
		a[k%10]=1;
		for(m=0;m<=9;m++)
	 {
		s=s+a[m];
	 }
	 	if(s==9)
	    cout<<i<<" "<<j<<" "<<k<<endl;
	}
	return 0;


}

 

       if(s==9)

            cout<<i<<" "<<j<<" "<<k<<endl;
        s = 0;  //reinit

需要在循环体末尾加上s = 0;即对s重新初始化;否则下次循环的s是上次循环的累加值;