Cでのクリスマスツリーのプログラム
ここで、1つの興味深い問題が発生します。この問題では、クリスマスツリーをランダムに印刷する方法を見ていきます。そのため、ツリーはクリスマスツリーのライトのようにちらつきます。
クリスマスツリーを印刷するために、さまざまなサイズのピラミッドを上下に並べて印刷します。装飾的な葉の場合、ランダムな文字が指定された文字のリストから印刷されます。高さとランダム性は調整可能です。
ここでは、ツリーを生成した後、画面全体がクリアされてから再度生成されます。そのため、これはちらつきツリーのように見えます。
例
#include <stdio.h> #include <stdlib.h> #include <time.h> #include <unistd.h> #define REFRESH_RATE 40000 #define RANDOM_NESS 5 // The higer value indicates less random void clear_screen() { system("@cls||clear"); } void display_random_leaf() { char type_of_leaves[5] = { '.', '*', '+', 'o', 'O' }; //these are the leaf types int temp = rand() % RANDOM_NESS; if (temp == 1) printf("%c ", type_of_leaves[rand() % 5]); //if temp is 1, then use other leaves else printf("%c ", type_of_leaves[1]); //otherwise print * } void tree_triangle(int f, int n, int toth) { int i, j, k = 2 * toth - 2; for (i = 0; i < f - 1; i++) k--; for (i = f - 1; i < n; i++) { //i will point the number of rows for (j = 0; j < k; j++) // Used to put spaces printf(" "); k = k - 1; for (j = 0; j <= i; j++) display_random_leaf(); printf("\n"); } } void display_tree(int h) { int start = 1, end = 0, diff = 3; while (end < h + 1) { end = start + diff; tree_triangle(start, end, h); diff++; start = end - 2; } } void display_log(int n) { //print the log of the tree int i, j, k = 2 * n - 4; for (i = 1; i <= 6; i++) { for (j = 0; j < k; j++) printf(" "); for (j = 1; j <= 6; j++) printf("#"); printf("\n"); } } main() { srand(time(NULL)); int ht = 15; while (1) { clear_screen(); display_tree(ht); display_log(ht); usleep(REFRESH_RATE); //use sleep before replacing } }
出力
-
平行四辺形の円周のためのCプログラム
平行四辺形の辺が与えられ、タスクは、与えられた辺で平行四辺形の円周を生成し、結果を表示することです 平行四辺形とは何ですか? 平行四辺形は、-を持つ2次式の一種です。 反対側が平行 反対の角度は等しい ポリゴンの対角線は互いに二等分します 下の図に示されている「a」と「b」は、平行四辺形の辺であり、平行四辺形が図に示されています。 平行四辺形の周囲長/円周は次のように定義されます − 平行四辺形の円周=2(a + b) =2 * a + 2 * b 例 Input-: a = 23 and b = 12 Output-: Circumference of a paral
-
cos(x)級数の合計のCプログラム
xとnの値が与えられます。ここで、xはcosの角度、nはcos(x)級数の項の数です。 Cos(x)の場合 Cos(x)は、x角度の値を計算するために使用される三角関数です。 式 $$ \ cos(x)=\ displaystyle \ sum \ Limits_ {k =0} ^ \ infty \ frac {(-1)^ {k}} {(2k!)} x ^ {2k} $$ Cos(x)シリーズの場合 Cos(x)=1 –(x * 2/2!)+(x * 4/4!)–(x * 6/6!)+(x * 8/8!)…… 例 Input-: x = 10, n = 3 Output-: