难道没有要求几位数相加吗
#include <stdio.h>/*511种,从2个数相加开始,不知道对不对........*/
main()
{
int a[10]={0},i=0,j=0,k=1;
for(a[0]=1;a[0]<=9;a[0]++)
{
for(i=1;i<=9;i++)
a[i]=0;
for(a[k]=1;a[k]<=9;a[k]++)
{
for(i=2;i<=9;i++)
a[i]=0;
if((a[0]+a[1]+a[2]+a[3]+a[4]+a[5]+a[6]+a[7]+a[8]+a[9])==10)
j++;
else if((a[0]+a[1]+a[2]+a[3]+a[4]+a[5]+a[6]+a[7]+a[8]+a[9])>10)
{
k=1;
break;
}
k+=1;
for(a[k]=1;a[k]<=9;a[k]++)
{
for(i=3;i<=9;i++)
a[i]=0;
if((a[0]+a[1]+a[2]+a[3]+a[4]+a[5]+a[6]+a[7]+a[8]+a[9])==10)
j++;
else if((a[0]+a[1]+a[2]+a[3]+a[4]+a[5]+a[6]+a[7]+a[8]+a[9])>10)
{
k=1;
break;
}
k+=1;
for(a[k]=1;a[k]<=9;a[k]++)
{
for(i=4;i<=9;i++)
a[i]=0;
if((a[0]+a[1]+a[2]+a[3]+a[4]+a[5]+a[6]+a[7]+a[8]+a[9])==10)
j++;
else if((a[0]+a[1]+a[2]+a[3]+a[4]+a[5]+a[6]+a[7]+a[8]+a[9])>10)
{
k=2;
break;
}
k++;
for(a[k]=1;a[k]<=9;a[k]++)
{
for(i=5;i<=9;i++)
a[i]=0;
if((a[0]+a[1]+a[2]+a[3]+a[4]+a[5]+a[6]+a[7]+a[8]+a[9])==10)
j++;
else if((a[0]+a[1]+a[2]+a[3]+a[4]+a[5]+a[6]+a[7]+a[8]+a[9])>10)
{
k=3;
break;
}
k++;
for(a[k]=1;a[k]<=9;a[k]++)
{
for(i=6;i<=9;i++)
a[i]=0;
if((a[0]+a[1]+a[2]+a[3]+a[4]+a[5]+a[6]+a[7]+a[8]+a[9])==10)
j++;
else if((a[0]+a[1]+a[2]+a[3]+a[4]+a[5]+a[6]+a[7]+a[8]+a[9])>10)
{
k=4;
break;
}
k++;
for(a[k]=1;a[k]<=9;a[k]++)
{
for(i=7;i<=9;i++)
a[i]=0;
if((a[0]+a[1]+a[2]+a[3]+a[4]+a[5]+a[6]+a[7]+a[8]+a[9])==10)
j++;
else if((a[0]+a[1]+a[2]+a[3]+a[4]+a[5]+a[6]+a[7]+a[8]+a[9])>10)
{
k=5;
break;
}
k++;
for(a[k]=1;a[k]<=9;a[k]++)
{
for(i=8;i<=9;i++)
a[i]=0;
if((a[0]+a[1]+a[2]+a[3]+a[4]+a[5]+a[6]+a[7]+a[8]+a[9])==10)
j++;
else if((a[0]+a[1]+a[2]+a[3]+a[4]+a[5]+a[6]+a[7]+a[8]+a[9])>10)
{
k=6;
break;
}
k++;
for(a[k]=1;a[k]<=9;a[k]++)
{
for(i=9;i<=9;i++)
a[i]=0;
if((a[0]+a[1]+a[2]+a[3]+a[4]+a[5]+a[6]+a[7]+a[8]+a[9])==10)
j++;
else if((a[0]+a[1]+a[2]+a[3]+a[4]+a[5]+a[6]+a[7]+a[8]+a[9])>10)
{
k=7;
break;
}
k++;
for(a[k]=1;a[k]<=9;a[k]++)
{
if((a[0]+a[1]+a[2]+a[3]+a[4]+a[5]+a[6]+a[7]+a[8]+a[9])==10)
j++;
else if((a[0]+a[1]+a[2]+a[3]+a[4]+a[5]+a[6]+a[7]+a[8]+a[9])>10)
{
k=8;
break;
}
}
}
}
}
}
}
}
}
}
}
printf("%d",j);
getchar();
}