实验3

实验1

功能:将分数转化为对应等级

形参类型:整型;返回值类型:字符型

问题:1:字符未使用单引号

          2:没有break,导致程序会一直运行到最后

 

实验2

功能:将一个数字的所有位数字相加

能。第一种方法用迭代的思维,第二种方法用递归的思维

 

实验3

功能:求x的n次方

是递归函数

 

 

IMG_20251026_191517

 

实验4

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int is_prime(int n);

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

int is_prime(int n) {
    if (n < 2)
        return 0;
    for (int i = 2; i * i <= n; i++) {
        if (n % i == 0)
            return 0;
    }
    return 1;
}

屏幕截图 2025-10-26 205012

 

实验5

迭代

#define  _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int func(int n, int m); // 函数声明
int main() {
    int n, m;
    int ans;
    while (scanf("%d%d", &n, &m) != EOF) {
        ans = func(n, m); // 函数调用
        printf("n = %d, m = %d, ans = %d\n\n", n, m, ans);
    }
    return 0;
}
int func(int n, int m) {
    if (m == 0 || m == n) {
        return 1;
    }
    int x = 1, y = 1;
    for (int i = 0; i < m; i++) {
        x *= (n - i);
    }
    for (int i = 1; i <= m; i++) {
        y *= i;
    }
    return x / y;
}

递归

#define  _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int func(int n, int m); // 函数声明
int main() {
    int n, m;
    int ans;
    while (scanf("%d%d", &n, &m) != EOF) {
        ans = func(n, m); // 函数调用
        printf("n = %d, m = %d, ans = %d\n\n", n, m, ans);
    }
    return 0;
}
int func(int n, int m) {
    if (m == 0 || m == n) {
        return 1;
    }
    // 递归公式:C(n, m) = C(n-1, m) + C(n-1, m-1)
    return func(n - 1, m) + func(n - 1, m - 1);
}

 

屏幕截图 2025-10-26 211713

 

 

实验6

 

#define  _CRT_SECURE_NO_WARNINGS
#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;
    if (a < b && a < c)
        min = a;
    if (b < a && b < c)
        min = b;
    if (c < a && c < b)
        min = c;
    for (int i = min; i >= 1; i--) {
        if (a % i == 0 && b % i == 0 && c % i == 0)
            return i;
    }
}

屏幕截图 2025-10-26 213117

 

实验7

 

#define  _CRT_SECURE_NO_WARNINGS
#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) {
    int k = 2 * n - 1;
    for (int i = 0; i < n; ++i) {
        for (int s = 0; s < i; ++s) {
            printf("\t");
        }
        for (int j = 0; j < k; ++j) {

            printf(" O ");
            printf("\t");
        }
        printf("\n");
        for (int s = 0; s < i; ++s) {
            printf("\t");
        }
        for (int j = 0; j < k; ++j) {

            printf("<H>");
            printf("\t");
        }
        printf("\n");
        for (int s = 0; s < i; ++s) {
            printf("\t");
        }
        for (int j = 0; j < k; ++j) {
            printf("I I");
            printf("\t");
        }

        k -= 2;
        printf("\n");
    }
}

屏幕截图 2025-10-26 231152

 

posted @ 2025-10-26 23:13  渲月月月  阅读(9)  评论(0)    收藏  举报