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

* 
*** 
***** 
******* 
********* 
*********** 
************* 
*********** 
********* 
******* 
***** 
*** 
*
#include <stdio.h>

void print_star(int n) {
    int i, j;
    for(i = 1; i <= n; i++) {
        for(j = 0; j < (2 * i - 1); j++) {
            printf("*");
        }
        printf("\n");
    }
    for(i = n-1; i > 0; i--) {
        for(j = 0; j < (2 * i -1); j++) {
            printf("*");
        }
        printf("\n");
    }
}

int main(int argc, char const *argv[])
{
    print_star(7);
    return 0;
}

2. 求出0~999之间的所有“水仙花数”并输出。

#include <stdio.h>

int cubic(int num) {
    return num * num * num;
}

void Narcissistic_number() {
    // 一位数全是水仙花数,两位数没有水仙花数,只看三位数
    for(int i = 100; i < 1000; i++) {
        if(i == cubic(i % 10) + cubic((i / 10) % 10) + cubic(i / 100))
            printf("%d\n", i);
    }
}

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

    Narcissistic_number();
    return 0;
}

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

#include <stdio.h>

int plus(int n, int num) {
    // 求前n项和
    int sum = 0;
    int tmp = 0;
    for(int i = 0; i < n; i++) {
        tmp = tmp * 10 + num;
        sum += tmp;
    }

    return sum;
}

int main(int argc, char const *argv[])
{
    printf("%d\n", plus(3, 1));
    return 0;
}
Last modification:November 10th, 2019 at 10:22 am