二叉樹的遞迴應用—求二叉樹高度
阿新 • • 發佈:2020-11-01
實驗報告
任務1
#include <stdio.h> int main() { int a = 5, b = 7, c = 100, d, e, f; d = a / b * c; e = a * c / b; f = c / b * a; printf("d=%d, e=%d, f=%d\n", d, e, f); return 0; }
任務2
#include <stdio.h> int main() { int x=1234; float f=123.456; double m=123.456; char ch='a'; char a[]="Hello, world!"; int y=3, z=4; printf("%d %d\n", y, z); printf("y=%d, z=%d\n", y,z); printf("%8d,%2d\n", x,x); printf("%f, %8f, %8.1f, %0.2f, %.2e\n",f,f,f,f,f); printf("%lf\n",m); printf("%3c\n", ch); printf("%s\n%15s\n%10.5s\n%2.5s\n%.3s\n",a,a,a,a,a); return 0; }
程式碼中12~13行輸出了整型資料
%8d表示以8位輸出,由於原資料為四位,故在左側用空格補足八位,%2d以兩位輸出,為避免損失,輸出原資料。
15行中,%f表示輸出浮點型;%8輸出八位;%8.1f輸出八位資料,保留一位小數;%0.2f輸出兩位小數;%.2e按指數形式輸出,保留兩位小數。
%lf:輸出雙精度型資料
%3c:輸出三位字元
%s:按字串輸出;%15s:輸出十五位字串;%10.5:輸出佔十位,取了前五位%2.5s:取前五位,佔兩位,為防損失輸出五位。%.3e以指數形式輸出,保留三位,a為字串,輸出三位。
任務3
#include<stdio.h> intmain() { double x, y; char c1, c2, c3; int a1, a2, a3; scanf("%d %d %d\n", &a1, &a2, &a3); printf("%d,%d,%d\n", a1, a2, a3); scanf("%c%c%c", &c1, &c2, &c3); printf("%c%c%c\n", c1, c2, c3); scanf("%lf,%lf", &x, &y); printf("%lf,%1f\n", x, y); return 0; }
任務4
#include <stdio.h> int main() { char x; x = getchar(); if (x >= '0'&&x <= '9') printf("%c是數字字元\n", x); else if ((x >= 'A'&&x <= 'Z')||(x>='a'&&x<='z')) printf("%c是英文字母",x); else printf("%c是其它字元\n", x); return 0; }
任務5
#include <stdio.h> int main() { char ans1, ans2; printf("複習了沒? (輸入y或Y表示複習了,輸入n或N表示沒複習) : "); ans1 = getchar(); getchar(); printf("\n動手敲程式碼了沒? (輸入y或Y表示敲了,輸入n或N表示木有敲) : "); ans2 = getchar(); if ((ans1=='y'||ans1=='Y')&&(ans2=='y'||ans2=='Y')) printf("\n羅馬不是一天建成的:)\n"); else printf("\n羅馬不是一天毀滅的。。。\n"); return 0; }
去掉第六行的“getchar()”後程序只接受了ans1就結束了
任務6
#include<stdio.h> #include<math.h> int main() { int n, sum; scanf_s("%d", &n); int k = n + 1; sum = 1 * (1 - pow(2,k))/ (1 - 2); printf("當n=%d時,sum=%d", n, sum); return 0; }
實驗總結
任務1:程式進行計算時從左到右進行,由於程式碼中的資料都為整型,計算時結果只保留整數部分,因此會產生損失。各步計算順序不同,產生的誤差自然也不同。
任務2:
程式碼中12~13行輸出了整型資料
%8d表示以8位輸出,由於原資料為四位,故在左側用空格補足八位,%2d以兩位輸出,為避免損失,輸出原資料。
15行中,%f表示輸出浮點型;%8輸出八位;%8.1f輸出八位資料,保留一位小數;%0.2f輸出兩位小數;%.2e按指數形式輸出,保留兩位小數。
%lf:輸出雙精度型資料
%3c:輸出三位字元
%s:按字串輸出;%15s:輸出十五位字串;%10.5:輸出佔十位,取了前五位%2.5s:取前五位,佔兩位,為防損失輸出五位。%.3e以指數形式輸出,保留三位,a為字串,輸出三位。
任務5:程式碼中第六行內容刪除後,執行時只能接收一個回答。