/*将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;
}为什么这个代码没有输出结果呀?
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
1条回答 默认 最新
自信男孩 2021-06-23 16:30关注if(s==9) cout<<i<<" "<<j<<" "<<k<<endl; s = 0; //reinit需要在循环体末尾加上s = 0;即对s重新初始化;否则下次循环的s是上次循环的累加值;
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报