C语言:求符合给定条件的整数集
给定不超过6的正整数,考虑从A开始的连续4个数字。请输出所有由他们组成的无重复数字的3位数
输入格式:输入在一行中给出A
输出格式:输出满足条件的3位数,要求从小到大,每行6个整数,整数间以空格分隔,但行末不能有多余空格
#include<stdio.h>
void main()
{
int a,i,j,k,ret=0; //ret为计数器,后面每输出6个数换行要用
scanf("%d",&a);
for(i=a;i<=a+3;i++) //每一位都有三种可能情况,所以用for的嵌套
{for(j=a;j<=a+3;j++)
{for(k=a;k<=a+3;k++)
{if(i!=j&&i!=k&&j!=k) //i,j,k之间不能相等
{ret++;
printf("%d%d%d",i,j,k);
if(ret==6) //如果一行输出了6个数,就输出一个换行
{
printf("\n");
ret=0; //重新计数,等再计数到6个数后又输出一个换行
}
else printf(" "); //如果输出的个数还没有到6个,就输出一个空格
}
}
}
}
return 0;
}
输出如图所示:(示例输入4)