美文网首页
菜鸟编程学习(python&C--001)

菜鸟编程学习(python&C--001)

作者: 就如此简单 | 来源:发表于2018-09-27 16:32 被阅读0次

    Python 练习实例1(Python 100例)

    题目:有四个数字:1、2、3、4,能组成多少个互不相同且无重复数字的三位数?各是多少?

    程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去掉不满足条件的排列。

    学习知识点:range()函数的用法

    例子:

    >>>range(5)                           # 从 0 开始到 10

    [0, 1, 2, 3, 4]

    >>> range(1, 6)                       # 从 1 开始到 11

    [1, 2, 3, 4, 5]

    >>> range(0, 10, 3)                 # 步长为 5

    [0, 3, 6, 9]

    程序代码

    for i in range(1,5):

            for j in range(1,5):

                    for k in range(1,5):

                                if( i != k ) and (i != j) and (j != k):

                                            print  i,j,k

    结果:

    1 2 3

    1 2 4

    1 3 2

    1 3 4

    1 4 2

    1 4 3

    2 1 3

    2 1 4

    2 3 1

    2 3 4

    2 4 1

    2 4 3

    3 1 2

    3 1 4

    3 2 1

    3 2 4

    3 4 1

    3 4 2

    4 1 2

    4 1 3

    4 2 1

    4 2 3

    4 3 1

    4 3 2


    【程序29】题目:给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。(c语言经典编程实例100题)

    程序代码

    #include <stdio.h>

    void main()

    {

        int i,j,k;

        printf("请输入一个小于100000的正整数\n");

        scanf("%d",&k);

        if (k/100000!=0)

        {

                printf("输入错误\n");

        }

        else if (k/10000!=0)

        {

                printf("输入的数为五位数\n");

                printf("逆序打印出各位数字为:%d %d %d %d %d\n",k%10,k%100/10,k%1000/100,k/1000%10,k/10000);

        }

        else if (k/1000!=0)

        {

                printf("输入的数为四位数\n");

                printf("逆序打印出各位数字为:%d %d %d %d\n",k%10,k%100/10,k%1000/100,k/1000);

        }

        else if (k/100!=0)

        {

                printf("输入的数为三位数\n");

                printf("逆序打印出各位数字为:%d %d %d\n",k%10,k%100/10,k/100);

        }

        else if (k/10!=0)

        {

                printf("输入的数为二位数\n");

                printf("逆序打印出各位数字为:%d %d\n",k%10,k/10);

        }

        else if (k<10)

        {

                printf("输入的数为一位数\n");

                printf("逆序打印出各位数字为:%d\n",k);

        }

        else if (k<1)

        {

                printf("输入错误\n");

        }

    }

    结果:

    输入:56798

    输出:

    请输入一个小于100000的正整数

    输入的数为五位数

    逆序打印出各位数字为:8 9 7 6 5


    31.设计一个从5个整数中取最小数和最大数的程序(南阳理工acm)

    输入:

    输入只有一组测试数据,为五个不大于1万的正整数

    输出:

    输出两个数,第一个为这五个数中的最小值,第二个为这五个数中的最大值,两个数字以空格格开。

    样例输入

    1 2 3 4 5

    样例输出

    1 5

    程序代码

    #include <stdio.h>

    void main()

    {

            int i,j,k,max,min,a[5];

            for(i=0;i<5;i++)

            {

                    scanf("%d",&a[i]);

            }

            min=max=a[0];

            for(i=0;i<5;i++)

           {

                    if(max<a[i])

                    {

                                max=a[i];

                    }

                    if(min>a[i])

                    {

                            min=a[i];

                    }

        }

        printf("%d %d\n",min,max);

    }

    结果:

    输入

    1 2 6 4 5

    输出

    1 6


    相关文章

      网友评论

          本文标题:菜鸟编程学习(python&C--001)

          本文链接:https://www.haomeiwen.com/subject/xqpbnftx.html