zoukankan      html  css  js  c++  java
  • ios学习记录 day4

    作业:

    1、打印1 - 100中不能被7整除又不包含7的数。

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

      if(i % 7 != 0 && i / 10 != 7 && i % 10 != 7){

      printf("%2d    ",i);

      }

    }

    2、输入两个数,求最小公倍数和最大公约数。

    int x = 0,y = 0,maxGY = 0,minGB = 0;

    scanf("%d,%d",&x,&y);

    for (int i = 1;i <= (x < y ? x : y);i++){

    if(x % i == 0 && y % i == 0){

     maxGY = i;

     }

    }

    minGB = x * y / maxGY;

    printf("最大公约数是%d,最小公倍数是%d ",maxGY,minGB);


    3、随机产生20个[10 , 100]的正整数,输出这些数以及他们中的最大数,第二大数。

        int max = 0,max2 = 0;
        for (int i = 0; i < 20; i++) {
            unsigned int k = arc4random() % (100 - 10 + 1) + 10;
            printf("%d  ",k);
            if (max < k) {
                max2 = max;
                max = k ;
            }else if (max2 < k){
                max2 = k;
            }
        }
        printf("最大值%d ",max);
        printf("二大值%d ",max2);

    4、编程将所有“水仙花数”打印出来,并打印其总个数。 “水仙花数”是一个 各个位立方之和等于该整数的三位数。

    for(int i = 100;i < 1000;i++){

    int gw = i % 10,sw = i /10 % 10,bw = i / 100;

    if(gw*gw*gw+sw*sw*sw+bw*bw*bw == i){

    printf("%d  ",i);

     }

    }

    (2)for (int i = 1;i < 10; i++) {
            for (int j = 0; j < 10; j++) {
                for (int k = 0; k < 10; k++) {
                    if (i*i*i + j*j*j + k*k*k == i * 100 + j * 10 + k) {
                        printf("%d ",i * 100 + j * 10 + k);
                    }
                }
            }
        }
    5、使用循环打印三角形
   *****
                                     _***
                                     __*
                                     _***
                                     *****

     (1) for (int i = 1; i < 3; i++) {
            for (int k = 1; k < i; k++) {
                printf("_");
            }
            for (int j = 5; j >= 2 * i - 1 ; j--) {
                printf("*");
            }
            printf(" ");
        }
        for (int i = 1; i < 4; i++) {
            for (int k = 3; k > i; k--) {
                printf("_");
            }
            for (int j = 1; j <= 2 * i - 1 ; j++) {
                printf("*");
            }
            printf(" ");
        }
    (2)打印   *

                * *

               * * *

     for (int i = 0; i < 3; i++) {
            for (int k = 3; k > i + 1; k--) {
                printf(" ");
            }
            for (int j = 0; j < 2 * i + 1; j++) {
                if (j % 2 == 0) {
                    printf("*");
                }else{
                    printf(" ");
                }
            }
            printf(" ");
        }

     (3)  for (int i = 0 , a = 0 ,b = 2; i < 5; i++) {
            for (int j = 0; j < a + 1; j++) {
                printf("%3c",'*');
            }
            for (int j = 0; j < b * 2 - 1; j++) {
                printf("%3c",' ');
            }
            for (int j = 0; j < (5 - abs((b * 2 - 1))) / 2; j++) {
                printf("%3c",'*');
            }
            printf(" ");
            if (i < 2) {
                a++;
                b--;
            }
            else{
                a--;
                b++;
            }
        }//****输出横着的漏斗


    6、输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。

    char c = '';
        int zimu = 0,kongge = 0,shuzi = 0,qita = 0;
        while (c != ' ') {
            scanf("%c",&c);
            if ((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z')) {
                zimu ++;
            }else if (c == ' '){
                kongge ++;
            }else if (c >= '0' && c <= '9'){
                shuzi ++;
            }else{
                qita ++;
            }
        }
        printf("字母个数%d,空格个数%d,数字个数%d,其它字符个数%d ",zimu,kongge,shuzi,qita);


    7、求S(n) = a+aa+aaa+aaaa+...+aa..a之值,其中a是一个数字,n表示a的位数例如:2+22+222+2222+22222(此时n=5),n和a都从键盘输入。

        int n = 0,a = 0,an = 0,sn = 0;

        printf("输入位数n,数字a:");
        scanf("%d,%d",&n,&a);
        for (int i = 0; i < n; i++) {
            an = an * 10 + a;
            sn += an;

            if (i != n - 1) {
                printf("%d+",an);
            }else{
                printf("%d=",an);
            }
        }
        printf("%d ",sn);

    8、求1!+2!+3!+4!+..+20!

    (1)long sum = 0,an = 1;
        for (int i = 1;i < 20 + 1;i++){
            an *= i;
            sum += an;
        }
        printf("%ld ",sum);

    (2 long sum1 = 1,sum2 = 0;
        for (int i = 1; i <= 20; i++) {
            sum1 = 1;
            for (int j = 1; j < i + 1; j++) {
                sum1 *= j;
            }
            sum2 += sum1;
        }
        printf("%ld ",sum2);


    9、一个球从100m高度自由落下,每次落地后反跳回原来高度的一半,再落下,再反弹。求它在第10次落地时,共经过多少米?第10次反弹多高?

        float height = 100,sum = 0;
        for (int i = 0; i < 10; i++) {
            sum += height * 2;
            height = height / 2;
        }
        sum -= 100;
        printf("经过的路径%f,第十次反弹%f ",sum,height);

    10、猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,就只剩一个桃子了。求第一天共摘多少个桃子。 

       (1) int x = 1;
        for (int i = 10; i > 1; i--) {
            x = (x + 1) * 2;
        }
        printf("第一次摘了%d个桃 ",x); 

    (2)int x = 1;
        for (int i = 10; i > 0; i--) {
            printf("%d天剩%d个桃 ",i,x );
            x = (x + 1) * 2;
        }

    (3)int x = 1;
        for (int i = 0; i < 10; i++) {
            printf("%d天剩%d个桃 ",10 - i,x );
            x = (x + 1) * 2;
        }

  • 相关阅读:
    天使玩偶
    CSPS 2019 Day1 T2 括号树
    权值线段树2(求逆序对)
    第一篇blog
    [GXOI/GZOI2019]特技飞行
    Mokia 摩基亚
    概率基本概念
    第一课:认识Richfaces
    第四课:JSF\Richfaces中使用javabean
    第二课:安装Richfaces Demo
  • 原文地址:https://www.cnblogs.com/lxllanou/p/3580910.html
Copyright © 2011-2022 走看看