7-16 求符合给定条件的整数集

给定不超过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
Note:本来想暴力解决,但是觉得暴力不是一个优秀程序员该有的风格,果断来一段我自己都看不懂的代码。但是一开始碰到了一个问题,就是在判断百位十位是否相等时,我把判断写在了for的判断内。结果是只显示寥寥几个数,后来百度了才知道,for循环的判断语句一旦不成立,就会直接跳出循环,这一点要谨记。

#include<stdio.h>
int main()
{
    int i, j, k, A, count;
    scanf("%d", &A);
    for (i=A; i<=A+3; i++){
        count = 0;
        for (j=A; j<=A+3; j++){
            if (j!=i){//百位个位不能重复
                for(k=A; k<=A+3; k++){
                    if (k!=i && k!=j){//十位个位百位都不能重复
                        count ++;
                        if (count==6) printf("%d", i*100+j*10+k);
                        else printf("%d ", i*100+j*10+k);
                    }
                }
            }
        }
        printf("\n");
    }
    return 0;
}
阅读更多
版权声明: https://blog.csdn.net/qq_37701948/article/details/80344567
文章标签: C语言
个人分类: PTA基础编程题目集
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭