实验任务3

实验任务1

问题1:函数 score_to_grade 的功能是:把分数转化为相应的等级。形参类型是int  返回值类型是char

问题2:更改后的代码把字符串赋值给了字符型变量ans,导致程序报错无法运行,应该用单引号。

             每个case后缺少break,运行完当前case后会继续运行下一条case。

实验任务2

问题1:函数 sum_digits 的功能是:把输入的数字中每一位数字相加求和

问题2:能实现同样输出,原程序是用循环的算法,更改后的程序是用递归的方法
 
实验任务3
问题1: 函数 power 的功能是计算输入的X的n次幂
问题2:函数 power 是递归函数
 IMG_1303(20251028-220226)

实验任务4

 1 #include <stdio.h>
 2 int is_prime(int n) ;
 3 int main() {
 4     int count = 0;
 5     printf("100以内的孪生素数:\n");
 6     for (int n = 2; n + 2 <= 100; n++)
 7      {
 8         if (is_prime(n) && is_prime(n + 2)) 
 9         {
10             printf("%d %d\n", n, n + 2);
11             count++;
12         }
13     }
14     printf("100以内的孪生素数共有%d个.\n", count);
15     return 0;
16 }
17 int is_prime(int n) {
18     if (n <= 1) {
19         return 0;
20     }
21     for (int i = 2; i * i <= n; i++) {
22         if (n % i == 0) {
23             return 0;
24         }
25     }
26     return 1;
27 }
实验任务4

屏幕截图 2025-10-30 201323

 

实验任务5

 1 #include <stdio.h>
 2 int func(int n, int m); 
 3 int main() {
 4   int n, m;
 5   int ans;
 6   while(scanf("%d %d", &n, &m) != EOF) {
 7       ans = func(n, m); 
 8       printf("n = %d, m = %d, ans = %d\n\n", n, m, ans);
 9   }
10   return 0;
11 }
12 int func(int n,int m) {
13     if(m==0||m==n){
14         return 1;
15     }
16     if(m>n){
17         return 0;
18     }
19     return func(n-1,m)+func(n-1,m-1);
20 }
View Code

屏幕截图 2025-10-30 224215

 

实验任务6
 1 #include <stdio.h>
 2 int gcd(int a, int b, int c);
 3 int main() {
 4 int a, b, c;
 5 int ans;
 6 while(scanf("%d%d%d", &a, &b, &c) != EOF) {
 7 ans = gcd(a, b, c); 
 8 printf("最大公约数: %d\n\n", ans);
 9 }
10 return 0;
11 }
12 int gcd(int a, int b, int c) {
13     int min = a;
14     if (b < min) 
15     min = b;
16     if (c < min) 
17     min = c;
18     for (int i = min; i >= 1; i--) {
19         if (a % i == 0 && b % i == 0 && c % i == 0) {
20             return i;
21         }
22     }
23     return 1; 
24 }
View Code

屏幕截图 2025-10-30 224812

实验任务7

 

 1 #include <stdio.h>
 2 #include <stdlib.h>
 3 void print_charman(int n);
 4 int main(){
 5     int n;
 6 
 7     printf("input n: ");
 8     scanf("%d",&n);
 9     print_charman(n);
10 
11     return 0;
12 }
13 
14 void print_charman(int n){
15     int i,j,k;
16     for(i=0;i<n;i++){
17         for(j=0;j<i;j++){
18             printf("\t");
19         }
20         for(k=1;k<2*(n-i);k++){
21             printf(" O\t");
22         }
23         printf("\n");
24         for(j=0;j<i;j++){
25             printf("\t");
26         }
27         for(k=1;k<2*(n-i);k++){
28             printf("<H>\t");
29         }
30         printf("\n");
31         for(j=0;j<i;j++){
32             printf("\t");
33         }
34         for(k=1;k<2*(n-i);k++){
35             printf("I I\t");
36         }
37         printf("\n\n");
38     }
39 }
View Code

屏幕截图 2025-10-30 230921

屏幕截图 2025-10-30 230908

 

posted on 2025-10-30 23:07  付付付尾  阅读(4)  评论(1)    收藏  举报