给定不超过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; }