·给定不超过6的正整数A,考虑从A开始的连续4个数字。请输出由它们组成的无重复数字的三位数。
输入格式:
输入在一行中给出A。
输出格式:
输出满足条件的3位数,要求从小到大,每行6个整数。整数间以空格分隔,但行末不能有多余空格。
输出样例:
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()
{
int a;
printf("请输入a:");
scanf("%d",&a);
int i,j,k;
int cnt = 0;
i = a;
while (i<=a+3)
{
j = a;
while (j<=a+3)
{
k=a;
while (k<=a+3)
{
if (i!=j){
if (i!=k){
if(j!=k){
cnt++;
printf("%d%d%d",i,j,k);
//printf("%d",i*100+j*10+k)
if (cnt == 6 )
{
printf("\n");
cnt=0;
}else
{
printf(" ");
}
}
}
}
k++;
}
j++;
}
i++;
}
return 0;
}
2.用逻辑运算简化
#include <stdio.h>
int main()
{
int a;
printf("请输入a:");
scanf("%d",&a);
int i,j,k;
int cnt = 0;
i = a;
while (i<=a+3)
{
j = a;
while (j<=a+3)
{
k=a;
while (k<=a+3)
{
if (i!=j && i!=k && j!=k){
cnt++;
printf("%d%d%d",i,j,k);
// printf("%d",i*100+j*10+k)
if (cnt == 6 )
{
printf("\n");
cnt=0;
}else
{
printf(" ");
}
}
k++;
}
j++;
}
i++;
}
return 0;
}