Untitled

 avatar
unknown
plain_text
2 years ago
1.5 kB
2
Indexable
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include <stdlib.h>

void buildSpace(int n) {
    int i = 1;
    while (i <= n) {
        printf(" ");
        i++;
    }
}

void buildStar(int n) {
    int i = 1;
    while (i <= n) {
        printf("*");
        i++;
    }
}

void img1() {
	printf("圖形 1 輸入層數:");
	int floor; scanf("%d", &floor);

	int i = 1, space = floor - 1, number = 0;
	while (i <= floor) {

		buildSpace(space);
		space--;

        int j = 1;
		while (j <= 2 * i - 1) {
			printf("%d",number);
			number++;
			j++;
		}
		printf("\n");
		i++;
	}
}


void img2() {
	printf("---圖形2---\n");
	printf("輸入三角形的大小(2~6):");
	int size;  scanf("%d", &size);
	printf("輸入列印的層數 (3~8):");
	int floor;  scanf("%d", &floor);

	int frontSpace = (floor-1)*(size*2-1);

    int i = 1, tSum = 1; while (i <= floor) {
        int star = 1, space = size - 1;

        int ii = 1; while (ii <= size){
            buildSpace(frontSpace);

            int j = 1; while(j <= tSum) {
                buildSpace(space);
                buildStar(star);
                buildSpace(space);
                j ++;
            }
            printf("\n");
            star += 2;
            space -= 1;
            ii += 1;
        }

        frontSpace -= (size*2-1);
        tSum += 2;
        i += 1;
    }
}

int main() {
	img1();
	printf("\n");
	img2();
}