作者:tANGjIAqIAN
題目1
#include <stdio.h>
int main() {
int n, i;
long long nnn = 1; // 使用long long以儲存較大的階乘結果
scanf("%d", &n);
for (i = 1; i <= n; i++) {
nnn *= i;
}
printf("%d! = %lld\n", n, nnn);
return 0;
}
#include <stdio.h>
int main() {
int n, i = 1;
long long nnn = 1;
scanf("%d", &n);
while (i <= n) {
nnn *= i;
i++;
}
printf("%d! = %lld\n", n, nnn);
return 0;
}
#include <stdio.h>
int main() {
int n, i = 1;
long long nnn = 1;
scanf("%d", &n);
do {
nnn *= i;
i++;
} while (i <= n);
printf("%d! = %lld\n", n, nnn);
return 0;
}
題目2
#include <stdio.h>
// 函式用於計算絕對值
double absolute(double value) {
if (value < 0) {
return -value;
} else {
return value;
}
}
int main() {
double pi = 0.0;
double term;
int i = 0;
const double epsilon = 1e-7;
do {
term = (i % 2 == 0 ? 1.0 : -1.0) / (2 * i + 1);
pi += term;
i++;
} while (absolute(term) >= epsilon);
pi *= 4.0; // 乘以4得到π的近似值
printf("%f\n", pi);
return 0;
}
題目3
#include <stdio.h>
int main() {
int n1 = 0, n2 = 1, nextTerm, count = 0;
printf("斐波那契數列的前20個數字是:\n");
while (count < 20) {
// 列印當前項
printf("%d ", n1);
// 計算下一項
nextTerm = n1 + n2;
n1 = n2; // 更新n1為前一項
n2 = nextTerm; // 更新n2為當前項
count++; // 增加計數
}
return 0;
}
題目4
#include <stdio.h>
int main() {
int num, reversed = 0, remainder, original;
// 提示使用者輸入一個整數
printf("請輸入一個整數:");
scanf("%d", &num);
// 儲存原始數字
original = num;
// 反轉數字
while (num != 0) {
remainder = num % 10; // 獲取最後一位數字
reversed = reversed * 10 + remainder; // 將數字新增到反轉數字中
num /= 10; // 移除最後一位數字
}
// 輸出反轉後的數字
printf("反轉後的數字是:%d\n", reversed);
return 0;
}