zoukankan      html  css  js  c++  java
  • 循环练习

    //循环(计算某个数的位数) 输入一个正整数, 计算这个正整数的位数

    //int main(int argc, const char * argv[]) {

    //    int n;

    //    int cnt=0;

    //    scanf("%d", &n);

    //    while (n) {

    //        cnt++;

    //        n/=10;

    //    }

    //    printf("cnt = %d ", cnt);

    //    

    //    return 0;

    //}

    //a=1 b=1

    //a+b/a   2/1  a = 2 b = 1

    //a+b/a   3/2  a = 3 b = 2

    //a+b/a   5/3  a = 5 b = 3

    //...

    //9 流程控制(数值序列2) 输出数字序列 2/1,3/2,5/3,8/5,13/8,21/13...,输出个数由键盘输入。注意输入使用scanf输入 feibonaqi

    //

    //比如:

    //

    //输入 3输出为

    //

    //2/1

    //3/2

    //5/3

    //

    //输入 4 输出为

    //2/1

    //3/2

    //5/3

    //8/5

    //

    //int main(int argc,const char *argv[])

    //{

    //    int n;

    //    int a=1,b=1;

    //    scanf("%d", &n);

    //    for (int i=0; i<n; i++) {

    //        int temp;

    //        printf("%d/%d ", a+b,a);

    //        temp = a+b;

    //        b = a;

    //        a = temp;

    //    }

    //    printf(" ");

    //    return 0;

    //}

    //交换两个两个变量的值

    //int main(int argc,const char *argv[])

    //{

    //    int a=3, b=5;

    //    /*

    //    int tmp = a;

    //    a = b;//a = 5;

    //    b = tmp;// b=3;

    //    printf("a = %d b= %d ", a, b);

    //     */

    //    //不借助中间变量交换a , b 的值

    //    a=a+b;

    //    b=a-b;

    //    a=a-b;

    //    printf("a = %d b= %d ", a, b);

    //    return 0;

    //}

    //流程控制(数值序列3) 输出数字序列 1,2,3,5,8,13,21...,输出个数由键盘输入。注意输入使用scanf输入

    //

    //比如:

    //

    //输入 3输出为

    //

    //1

    //2

    //3

    //

    //输入 4 输出为

    //1

    //2

    //3

    //5

    /*int main(int argc,const char *argv[])

    {

        int n, a=0,b=1;

        scanf("%d", &n);

        

        for (int i=0; i<n; i++) {

            printf("%d ", a+b);

            int tmp = a+b;

            a = b;

            b = tmp;

        }

        return 0;

    }*/

    //求最大公约数

    //辗转相除法

    //a    b        a%b

    //319 377 --->  319

    //377 319 --->   58

    //319 58  --->   29

    //58  29  --->   0

    //29  0

    //control + i

    //int main(int argc, const char *argv[])

    //{

    //    int a, b;

    //    scanf("%d %d", &a, &b);

    //    while (b) {

    //        int tmp = a%b;

    //        a = b;

    //        b = tmp;

    //    }

    //    printf("%d ", a);

    //    return 0;

    //}

    //流程控制(for求阶乘的和 ) 输入n(int类型),打印1!+2!+3!+4!+5!+。。。+n!的值

    //比如:

    //

    //输入:2

    //输出:

    //3

    //

    //输入:3

    //

    //输出:

    //9

    //int main(int argc,const char *argv[])

    //{

    //    int Sn = 0;

    //    int n;

    //    int temp=1;

    //    scanf("%d", &n);

    //    for (int i=1; i<=n; i++) {

    //        temp = i*temp;// n!

    //        Sn += temp;

    //    }

    //    printf("Sn = %d ", Sn);

    //    

    //    return 0;

    //}

    //将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。

    //n    i     n%i

    //90 / 2 ---> 0

    //45 / 2 ---> 1

    //45 / 3 ---> 0

    //15 / 3 ---> 0

    //5  / 3 ---> 2

    //5  / 4 ---> 1

    //5  / 5 ---> 0

    //1

    //int main(int argc, const char *argv[])

    //{

    //    int n;

    //    scanf("%d", &n);

    //    printf("%d=", n);

    //    for (int i=2; n!=1; i++) {

    //        if (!(n%i)) {

    //            n!=i?printf("%d*", i):printf("%d",i);

    //            n/=i;

    //            i--;

    //        }

    //    }

    //    printf(" ");

    //    return 0;

    //}

    //19. 流程控制(for循环) 输入一个大写字母,如F

    //

    //比如:

    //

    //输入:F

    //

    //输出:

    //

    //     A

    //    ABA

    //   ABCBA

    //  ABCDCBA

    // ABCDEDCBA

    //ABCDEFEDCBA

    /*int main(int argc,const char *argv[])

    {

        char ch;

        scanf("%c", &ch);

        

        for (int i=0; i<ch-'A'+1; i++) {

            for (int j=0; j<ch-i-'A'; j++) {

                printf(" ");

            }

            for (int j=0; j<=i; j++) {

                printf("%c", 'A'+j);

            }

            for (int j=i; j>0; j--) {

                printf("%c", 'A'+j-1);

            }

            printf(" ");

        }

        return 0;

    }

    */

    //21. 流程控制(for循环) 输入一个大写字符,如F

    //

    //比如:

    //

    //输入:F

    //

    //输出:

    //

    //FEDCBA

    // EDCBAB

    //  DCBABC

    //   CBABCD

    //    BABCDE

    //     ABCDEF

    /*int main(int argc,const char *argv[])

    {

        char ch;

        scanf("%c", &ch);

        

        for (int i=0; i<ch-'A'+1; i++) {

            for (int j=0; j<i; j++) {

                printf(" ");

            }

            for (int j=i; j<ch-'A'+1; j++) {

                printf("%c", ch-j);

            }

            for (int j=0; j<i; j++) {

                printf("%c", 'A'+j+1);

            }

            printf(" ");

        }

        return 0;

    }*/

    //输入一个大写字符,如F

    //比如:

    //输入:F

    //输出:

    //FEDCBA

    //EDCBAB

    //DCBABC

    //CBABCD

    //BABCDE

    //ABCDEF

    //

    //输入 B

    //输出:

    //BA

    //AB

    //int main(int argc,const char *argv[])

    //{

    //    char ch;

    //    scanf("%c", &ch);

    //    for (int i=0; i<ch-'A'+1; i++) {

    //        for (int j=i; j<ch-'A'+1; j++) {

    //            printf("%c", ch-j);

    //        }

    //        for (int j=0; j<i; j++) {

    //            printf("%c", 'A'+1+j);

    //        }

    //        

    //        printf(" ");

    //    }

    //    return 0;

    //}

    //输入一个大写字母,如F

    //比如:

    //输入:F

    //输出:

    //A

    //ABA

    //ABCBA

    //ABCDCBA

    //ABCDEDCBA

    //ABCDEFEDCBA

    //

    //输入:C

    //输出:

    //A

    //ABA

    //ABCBA

    /*int main(int argc, const char *argv[])

    {

        char ch;

        scanf("%c", &ch);

        for (int i=0; i<ch-'A'+1; i++) {

            for (int j=0; j<=i; j++) {

                printf("%c", 'A'+j);

            }

            for (int j=i; j>0; j--) {

                printf("%c",'A'+j-1);

            }

            printf(" ");

        }

        return 0;

    }*/

    //输入年月日, 判断是一年中的第多少天

    //2015 1 31 //31

    //2015 3 1  //31 + 28 + 1 = 60

    //2012 3 1  //31 + 29 + 1 = 61

    int main(int argc,const char *argv[])

    {

        int year, month, day;

        int total=0;

        scanf("%d %d %d", &year, &month, &day);

        

        for (int i=1; i<month; i++) {

            switch (i) {

                case 1:

                case 3:

                case 5:

                case 7:

                case 8:

                case 10:

                case 12:

                    total+=31;

                    break;

                case 2:

                    if ((!(year%4) && year%100) || !(year%400)) {

                        total+=29;

                    }

                    else

                    {

                        total+=28;

                    }

                    break;

                case 4:

                case 6:

                case 9:

                case 11:

                    total+=30;

                    break;

                default:

                    break;

            }

        }

        total+=day;

        

        printf("总天数%d ", total);

        return 0;

    }

    让明天,不后悔今天的所作所为
  • 相关阅读:
    20080619 SQL SERVER 输入 NULL 的快捷键
    20090406 Adobe的“此产品的许可已停止工作”错误的解决办法
    20080908 Office Powerpoint 2007 不能输入中文的解决办法
    20080831 ClearGertrude Blog Skin 's cnblogs_code class
    20080603 Facebook 平台正式开放
    20080519 安装 Microsoft SQL Server 2000 时提示 创建挂起的文件操作
    test
    Linux—fork函数学习笔记
    SOA的设计理念
    Why BCP connects to SQL Server instance which start with account of Network Service fail?
  • 原文地址:https://www.cnblogs.com/-yun/p/4256761.html
Copyright © 2011-2022 走看看