实验3
task1
问题1 :将分数转换为等级
int
char
问题2 :1.执行完case 10还会执行case 9.
2.""应换为''
task2
问题1:求和
问题2:
task3
问题1:算x的n次幂
问题2:

task4
include <stdio.h>
int is_prime(int n) {
if (n <= 1) {
return 0;
}
for (int i = 2; i * i <= n; i++) {
if (n % i == 0) {
return 0;
}
}
return 1;
}
int main() {
int count = 0;
printf("100以内的孪生素数:\n");
for (int n = 2; n <= 98; n++) {
if (is_prime(n) && is_prime(n + 2)) {
printf("%d %d\n", n, n + 2);
count++;
}
}
printf("100以内的孪生素数共有%d个.\n", count);
return 0;
}

task5
迭代
int func(int n, int m) {
if (m < 0 || m > n) {
return 0;
}
if (m == 0 || m == n) {
return 1;
}
if (m > n - m) {
m = n - m;
}
int result = 1;
for (int i = 1; i <= m; i++) {
result = result * (n - m + i) / i;
}
return result;
}
递归
int func(int n, int m) {
if (m < 0 || m > n) {
return 0;
}
if (m == 0 || m == n) {
return 1;
}
return func(n - 1, m) + func(n - 1, m - 1);
}
task6
include <stdio.h>
int gcd(int a, int b, int c);
int main() {
int a, b, c;
int ans;
while(scanf("%d%d%d", &a, &b, &c) != EOF) {
ans = gcd(a, b, c);
printf("最大公约数: %d\n\n", ans);
}
return 0;
}
int gcd(int a, int b, int c) {
int min = a;
if (b < min) min = b;
if (c < min) min = c;
for (int i = min; i >= 1; i--) {
if (a % i == 0 && b % i == 0 && c % i == 0) {
return i;
}
}
return 1;
}

task7
include <stdio.h>
include <stdlib.h>
void print_charman(int n);
int main() {
int n;
printf("enter n: ");
scanf("%d", &n);
print_charman(n);
return 0;
}
void print_charman(int n) {
for (int i = 1; i <= n; i++) {
for (int j = 1; j < i; j++) {
printf("\t");
}
for (int k = 1; k <= n - i + 1; k++) {
printf("0\t<<|>\tI I\t");
}
printf("\n");
}
}


浙公网安备 33010602011771号