作者:邓yipeng
作业1
输入的代码
#include <stdio.h>
int main() {
int n, a, i;
a = 1;
scanf("%d", &n);
for (i = 1; i <= n; i++) {
a *= i;
}
printf("%d! = %d\n", n, a);
}
#include <stdio.h>
int main() {
int n, i;
unsigned long long factorial = 1;
scanf("%d", &n);
i = 1;
while(i <= n) {
factorial *= i;
++i;
}
printf(" %d! :%llu\n", n, factorial);
return 0;
}
#include <stdio.h>
int main() {
int n, i;
unsigned long long factorial = 1;
printf("请输入一个正整数n: ");
scanf("%d", &n);
i = 1;
do {
factorial *= i;
++i;
} while(i <= n);
printf(" %d! :%llu\n", n, factorial);
return 0;
}
作业二
答案
#include <stdio.h>
#include <math.h>
double calculate_e(int n) {
double e = 1.0;
double factorial = 1.0;
int i;
for (i = 1; i <= n; ++i) {
factorial *= i;
e += 1.0 / factorial;
if (1.0 / factorial < 1e-7) {
break;
}
}
return e;
}
double calculate_pi(double e) {
return e * (3 - sqrt(3)) / (e - 1);
}
int main() {
int n = 100;
double e = calculate_e(n);
double pi = calculate_pi(e);
printf("自然数 e 的近似值: %f\n", e);
printf("圆周率 pi 的近似值: %f\n", pi);
return 0;
}
作业三
答案
#include <stdio.h>
int main() {
int n1 = 0, n2 = 1, xyg, count = 0;
printf("斐波那契数列的前20个数字是:\n");
while (count < 20) {
printf("%d ", n1);
xyg = n1 + n2;
n1 = n2;
n2 = xyg;
count++;
}
printf("\n");
return 0;
}
作业四
答案
#include <stdio.h>
int f(int num) {
int r = 0;
while (num > 0) {
r = r * 10 + num % 10;
num /= 10;
}
return r;
}
int main() {
int num;
scanf("%d", &num);
int r = f(num);
printf("%d\n", f(num));
return 0;
}