zoukankan      html  css  js  c++  java
  • Work_4

    1.在屏幕上输出以下图案:

    #define _CRT_SECURE_NO_WARNINGS
    #include <stdio.h>
    #include <stdlib.h>
    
    int main(){
        int x = 0;
        printf("请输入该图案的行数:
    ");
        scanf("%d", &x);
        int number = -1;
        for (int i = 1; i <= x; i++){
            if (i <= x / 2 + 1){
                number = number + 2;
                for (int m = 1; m <= number; m++){
                    printf("*");
                }
                printf("
    ");
            }
            else {
                number = number - 2;
                for (int n = 1; n <= number; n++){
                    printf("*");
                }
                printf("
    ");
            }
            
        }
    
    
        printf("
    ");
        system("pause");
        return 0;
    }

    2.求出0~999之间的所有“水仙花数”并输出。
    “水仙花数”是指一个三位数,其各位数字的立方和确好等于该数本身,如;153=1+5+3?,则153是一个“水仙花数”。 

    在数论中,水仙花数(Narcissistic number)也称为自恋数、自幂数、阿姆斯壮数或阿姆斯特朗数(Armstrong number),是指一N位数,其各个数之N次方和等于该数。
    例如153、370、371及407就是三位数的水仙花数,其各个数之立方和等于该数:
    153 = 1^3 + 5^3 + 3^3。
    370 = 3^3 + 7^3 + 0^3。
    371 = 3^3 + 7^3 + 1^3。
    407 = 4^3 + 0^3 + 7^3。

    #define _CRT_SECURE_NO_WARNINGS
    #include <stdio.h>
    #include <stdlib.h>
    
    int Cube(int number){
        int cube = 0;
        cube = number * number * number;
        return cube;
    }
    
    int Daffodil(int i){
        int sum = 0;
        int x1, x2, x3;
        x1 = x2 = x3 = 0;
        while (i > 0){
            x1 = i % 10;
            i = i / 10;
            x2 = i % 10;
            i = i / 10;
            x3 = i % 10;
            i = i / 10;
        }
        sum = Cube(x1) + Cube(x2) + Cube(x3);
        return sum;
    }
    
    int main(){
        printf("100~999之间的所有水仙花数为:
    ");
        for (int x = 100; x < 999; x++){
            if (Daffodil(x) == x){
                printf("%4d", x);
            }
        }
        printf("
    ");
        system("pause");
        return 0;
    }


    3.求Sn=a+aa+aaa+aaaa+aaaaa的前5项之和,其中a是一个数字,
    例如:2+22+222+2222+22222

    #define _CRT_SECURE_NO_WARNINGS
    #include <stdio.h>
    #include <stdlib.h>
    #include <math.h>
    
    int Every_item(int number){
        int item = 0;
        for (int i = 0; i < number; i++){
            item = item + 2*(pow(10.0, i));
        }
        return item;
    }
    
    int main(){
        int item_number = 0;
        printf("请输入项数:
    ");
        scanf("%d", &item_number);
        int Sn = 0;
        for (int i = 1; i <= item_number; i++){
            Sn = Sn + Every_item(i);
        }
        printf("Sn=%d
    ",Sn);
        printf("
    ");
        system("pause");
        return 0;
    }

    注释:

      多写函数,使问题模块化,让问题的层次和结构更加清楚。for()不多于三层,最好控制在两层。

  • 相关阅读:
    Android编码规范03
    Android编码规范02
    Android编码规范01
    函数返回值类型为枚举类型
    ObjectAnimator属性动画应用demo
    n个元素的入栈顺序有多少种出栈顺序?
    JNI笔记1
    字符串——面试题1:统计一行字符中有多少个单词?
    快速排序算法
    es6之 async await 使用小计
  • 原文地址:https://www.cnblogs.com/lkimprove/p/10076266.html
Copyright © 2011-2022 走看看