给定不超过6的正整数A,考虑从A开始的连续4个数字。请输出所有由它们组成的无重复数字的3位数。
输入格式:
输入在一行中给出A。
输出格式:
输出满足条件的的3位数,要求从小到大,每行6个整数。整数间以空格分隔,但行末不能有多余空格。
输入样例:
2
结尾无空行
输出样例:
234 235 243 245 253 254
324 325 342 345 352 354
423 425 432 435 452 453
523 524 532 534 542 543
结尾无空行
因为输入是从小到大,所以按顺序输出就行了
以下为原答案
#include <stdio.h>
int main (void)
{
int i,m = 1;
scanf ("%d",&i);
if (i <= 0 || i > 6)
{
return 0;
}
int a[4] = {i, i+1, i+2, i+3};
for (int j = 0; j < 4; j++) //百位上的数字
{
for (int k = 0; k < 4; k++) //十位上的数字
{
if (k != j)
{
for (int n = 0; n < 4; n++) //个位上的数字
{
if (n != j && n != k)
{
if (m == 1) //m是输入成功的个数
{
printf ("%d%d%d",a[j],a[k],a[n]);
}
else if (m % 6 == 1 && m != 1)
{
printf ("\n");
printf ("%d%d%d",a[j],a[k],a[n]);
}
else
{
printf (" %d%d%d",a[j],a[k],a[n]);
}
m++;
}
}
}
}
}
return 0;
}