W3

1;;;;

#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;
        defult:ans='E';

    }
    return ans;

}

3708041-20251024084516630-171605269

A1:其是定义了一个函数表明通过分数来转化成等级;形参为int整数型;返回值为char是字符型;

A2:break用于结束循环并结束switch,如果像这样改变ans会直接等于E,会运行在其后面的case中的内容

2::::

#include <stdio.h>
int sum_digits(int n);
int main(){
    int n,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;

}

3708041-20251024085843773-371636865

A1;函数的作用是将各个位上的数都加起来

A2:应该可以运行,原代码是用来递归;改后的代码为迭代的方式

3‘’‘

#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=0;

    if(n==0)
        return 1;
    else if(n%2)
        return x*power(x,n-1);
    else{
        t=power(x,n/2);
        return t*t;
    }
}

3708048-20251024084545037-2071792980

4.。。

#include<stdio.h>
#include<stdlib.h>

int is_prime(int i){
    int ret=1;
    int k;
    for(k=2;k<i-1;k++){
        if(i%k==0){
        ret=0;
        break;
        }
    }
    return ret;
    }

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);
    system("pause");
        return 0;
}

屏幕截图 2025-10-30 121640

5/。/。

#include <stdio.h>
int func(int n, int m);

int main() {
   int n, m;
   int ans;

    while(scanf("%d%d",&n,&m)!= EOF){
    int 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 0;
    if (m == 0 || m == n) return 1;

    if (m > n - m) {
        m = n - m;
    }

    int ans = 1;
    for (int i = 1; i <= m; i++) {
        ans = ans * (n - m + i) / i;
    }

    return ans;
}

3708014-20251027225403256-1550800015 (1)

6、、、

#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;
}

屏幕截图 2025-10-30 122426

7///

#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 i,j,k;
    for(i=0;i<n;i++){
        for(j=0;j<i;j++){
            printf("\t");
        }
        for(k=1;k<2*(n-i);k++){
            printf(" O\t");
        }
        printf("\n");
        for(j=0;j<i;j++){
            printf("\t");
        }
        for(k=1;k<2*(n-i);k++){
            printf("<H>\t");
        }
        printf("\n");
        for(j=0;j<i;j++){
            printf("\t");
        }
        for(k=1;k<2*(n-i);k++){
            printf("I I\t");
        }
        printf("\n\n");
    }
}

屏幕截图 2025-10-30 122703

 

posted @ 2025-10-30 12:27  少女研究司长  阅读(3)  评论(0)    收藏  举报