控制臺打印一個圣誕樹:簡簡單單的C語言知識,真的很基礎,小白也能看得懂哦
/*******************************圣誕樹byC語言小白入門*******************************/#include<stdio.h>#include <stdlib.h>#include <time.h>#include<Windows.h>#define X 25 //畫面長度int background[20][2 * X] = { 0 };int SNOW = 30; //雪花密度/*******************************畫樹*******************************/void tree(){int i, j, x, y;for (i = 0; i < 3; i++){y = i;for (j = 0; j < 2 * i + 1; j++){background[y][(X - i) + j] = 1;}}for (i = 0; i < 5; i++){y++;for (j = 0; j < 2 * (i + 1) + 1; j++){background[y][(X - (i + 1)) + j] = 1;}}for (i = 0; i < 7; i++){y++;for (j = 0; j < 2 * (i + 3) + 1; j++){background[y][(X - (i + 3)) + j] = 1;}}for (i = 0; i < 5; i++){y++;for (j = 0; j < 3; j++){background[y][X + (2 * j - 2)] = 2;}}}/*******************************畫雪花*******************************/void snow(){int i;srand(time(NULL));for (i = 0; i < SNOW; i++){int x, y;x = rand() % (2 * X);y = rand() % 20;if ((background[y][x] == 0)){background[y][x] = 3;}}}/*******************************打印*******************************/void display(){int x, y;for (y = 0; y < 20; y++){for (x = 0; x < 2 * X; x++){if (background[y][x] == 0){printf(" ");}if (background[y][x] == 1){printf("0");}if (background[y][x] == 2){printf("|");}if (background[y][x] == 3){printf("*");}}printf("/n");}}/*******************************清除雪花*******************************/void clear_snow(){int i, j;for (i = 0; i < 20; i++){for (j = 0; j < 2 * X; j++){if (background[i][j] == 3){background[i][j] = 0;}}}}void main(){tree();while (1){snow();display();Sleep(1);system("cls");clear_snow();}}
最終的效果圖
也沒有那么高大上的啦,就很簡單的,效果的話是動態的,可以閃動的呢。
如果大家看以上代碼不過癮,大家可以參考下這篇文章。
以上所述是小編給大家介紹的C語言設計一個閃閃的圣誕樹,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對武林網網站的支持!
|
新聞熱點
疑難解答
圖片精選