使这三个数满足1:2:3的比列
以下是我写的代码,为什么循环在后来直接停止了,求解答
#include<stdio.h>
int main()
{
int i,j,k,a,b,c,d[10],l,e[10]={0,1,2,3,4,5,6,7,8,9};//a为第一个数,b为第二个数,c为第三个数
for(i=1;i<=9;i++)
for(j=1;j<=9;j++)
{
if(i==j)continue;
for(k=1;k<=9;k++)
{
if(k==j||k==i)
continue;
a=i*100+j*10+k;
b=2*a;
c=3*a;
if(b>=1000||c>=1000)continue;
d[0]=0;
d[1]=i;
d[2]=j;
d[3]=k;
d[4]=b/100;//求第二个数的百位
d[5]=(b-d[4]*100)/10;//求第二个数的十位
d[6]=(b-d[4]*100-d[5]*10);//求第二个数的个位
d[7]=c/100;//从这求第三个数的个十百
d[8]=(c-d[7]*100)/10;
d[9]=(c-d[7]*100-d[8]*10);
for(i=1;i<=8;i++)//把d中的9个数排序从大到小
{
k=i;
for(j=i+1;j<=9;j++)
if(d[k]>d[j])
k=j;
l=d[i];
d[i]=d[k];
d[k]=l;
}
for(i=1;i<=9;i++)//与预设的数组e比较,如果相同输出
if(d[i]!=e[i])
l=0;
if(l!=0)
printf("%d %d %d\n",a,b,c);
}
}
return 0;
}
你这复制粘贴的什么东西啊...你看题目没有?