实验3

点击查看代码
#include <stdio.h>
char score_to_grade(int score); // 函数声明
int main() {
    int score;
    char grade;
    while(scanf("%d", &score) != EOF) {
        grade = score_to_grade(score);
        printf("分数: %d, 等级: %c\n\n", score, grade);
    }
    return 0;
}
char score_to_grade(int score) {
    char ans;
    switch(score/10) {
    case 10:
    case 9:   ans = 'A'; break;
    case 8:   ans = 'B'; break;
    case 7:   ans = 'C'; break;
    case 6:   ans = 'D'; break;
    default:  ans = 'E';
    }
    return ans;
}

屏幕截图 2025-10-28 093318

1:判断分数对应的等级 整型 字符
2:无break ABCD是字符型常量

task2

点击查看代码
#include <stdio.h>
int sum_digits(int n);
int main() {
    int n;
    int ans;
    while(printf("Enter n: "), scanf("%d", &n) != EOF) {
        ans = sum_digits(n);    
        printf("n = %d, ans = %d\n\n", n, ans);
    }
    return 0;
}
// 函数定义
int sum_digits(int n) {
    int ans = 0;
    while(n != 0) {
        ans += n % 10;
        n /= 10;
    }
    return ans;
}

屏幕截图 2025-10-30 171940

1:求各位之和
2:能 前一个用循环结构得出每个位置的数,再相加 后一个用迭代的方法求

task3

点击查看代码
#include <stdio.h>

int power(int x, int n);
int main(){
    int x, n;
    int ans;
    while(printf("Enter x and n: "), scanf("%d%d", &x, &n) != EOF) {
        ans = power(x, n); 
        printf("n = %d, ans = %d\n\n", n, ans);
    }
    return 0;
}
// 函数定义
int power(int x, int n) {
    int t;
    if(n == 0)
        return 1;
    else if(n % 2)
        return x * power(x, n-1);
    else {
        t = power(x, n/2);
        return t*t;
    }
}

屏幕截图 2025-10-30 174131

1:求x的n次方
2:是 n为奇数,x的n次方等于x乘x的n-1次方 n为偶数,n的n次方等于x的1/2次方乘x的1/2次方

task4

点击查看代码
#include <stdio.h>
int is_prime(int n);
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 += 1;
        }
    }
    printf("100以内的孪生素数有%d个", count);
    return 0;
}
int is_prime(int n) {
    if (n <= 2) {
        return 0;
    }
    for (int i = 2; i <= n / 2; i++)
    {
        if (n % i == 0)
            return 0;
    }

    return 1;
}

屏幕截图 2025-10-30 191617

task5

点击查看代码
#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){
    int i, ans = 1;
    for (i = 1; i < m; i++)
		ans = ans * (n - i) / (m - i);
	return ans;
}

屏幕截图 2025-10-30 195238

点击查看代码
#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 > n)
		return 0;
	if (m == 0)
		return 1;
	return func(n - 1, m) + func(n - 1, m - 1);
}

屏幕截图 2025-10-30 195919

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

屏幕截图 2025-10-30 202717

task7

点击查看代码
#include <stdio.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=0;i<n;i++){
        int c=2*(n-i)-1;
        int s=i*3;
        for(int line=0;line<3;line++){
        for(int k=0;k<s;k++){
            printf("  ");
        }
        for(int j=0;j<c;j++)
        {
            switch(line){
            case 0:printf(" O    ");break;
            case 1:printf("<H>   ");break;
            case 2:printf("I I   ");break;

            }
        }
        printf("\n");
        }
        printf("\n");
    }
}

屏幕截图 2025-10-30 203652

posted @ 2025-10-30 20:37  陈禹江  阅读(6)  评论(0)    收藏  举报