首页 > 其他分享 >实验三

实验三

时间:2024-10-25 20:09:43浏览次数:1  
标签:10 return int ans 实验 printf include

task1

 1 #include<stdio.h>
 2 char grade(int score)
 3 {
 4     char a;
 5     switch(score/10)
 6     {
 7         case 10:
 8         case 9:a = 'A';break;
 9         case 8:a = 'B';break;
10         case 7:a = 'C';break;
11         case 6:a = 'D';break;
12         default:a = 'E';
13     }
14     return a;
15 }
16 int main()
17 {
18     int score;
19     char g;
20     while(scanf("%d",&score)!=EOF)
21     {
22         g = grade(score);
23         printf("分数是%d,等第是%c\n",score,g);
24     }
25     return 0;
26 }

Q1:按照学生的分数进行分类;整型;字符型
Q2:有问题,会一次性的把下面的分类结果全部输出

task2

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

Q1:输出n的各个数位之和
Q2:能实现同等效果;原来的方法是通过迭代的方法直接取值,新方法是通过递归的方式

task3

 1 #include<stdio.h>
 2 int pow(int a,int b)
 3 {
 4     int n;
 5     if(n==0)
 6     {
 7         return 1;
 8     }
 9     else if(n%2)
10     {
11         return a*pow(a,b-1);
12     }
13     else
14     {
15         n = pow(a,b/2);
16         return n*n;
17     }
18 }
19 int main()
20 {
21     int x,n,ans;
22     while(scanf("%d%d",&x,&n)!=EOF)
23     {
24         ans=pow(x,n);
25         printf("n=%d,ans=%d\n",n,ans);
26     }
27     return 0;
28 }

Q1:求出x的n次方
Q2:是递归,不会公式模型

task4

 1 #include<stdio.h>
 2 int is_prime(int n)
 3 {
 4     int i;
 5     if(n == 1)
 6     {
 7         return 0;
 8     }
 9     for(i = 2;i <= n/2;i++)
10     {
11         if(n%i == 0)
12             {
13                 return 0;
14             }
15     }
16     return 1;
17 }
18 
19 int main()
20 {
21     int n,i=1,m=0;
22     scanf("%d",&n);
23     printf("%d以内的孪生素数:\n",n);
24     while(i<n)
25     {
26         if(is_prime(i)&&is_prime(i+2))
27         {
28             printf("%d %d\n",i,i+2);
29             m++;
30         }
31         i++;
32     }
33     printf("%d以内的孪生素数共有%d个",n,m);
34 }

task5

 1 #include<stdio.h>
 2 #include<math.h>
 3 void move(int n,char f,char t)
 4 {
 5     printf("%d: %c --> %c\n",n,f,t);
 6 }
 7 void hanoi(int n,char f,char m,char t)
 8 {
 9     if(n==1)
10     {
11         printf("%d: A --> C\n",n);
12     }
13     else
14     {
15         hanoi(n-1,f,t,m);
16         move(n,f,t);
17         hanoi(n-1,m,f,t);
18     }
19 }
20 
21 int main()
22 {
23     int n;
24     while(scanf("%d",&n)!=EOF)
25     {
26         hanoi(n,'A','B','C');
27         int m;
28         m = pow(2,n)-1;
29         printf("一共移动了%d次。\n",m);
30     }
31     return 0;
32 }

task6

迭代:

 1 #include <stdio.h>
 2 int func(int n, int m);
 3 int main() 
 4 {
 5     int n, m;
 6     int ans;
 7     while(scanf("%d%d", &n, &m) != EOF) 
 8     {
 9         ans = func(n, m);
10         printf("n = %d, m = %d, ans = %d\n\n", n, m, ans);
11     }
12     return 0;
13 }
14 
15 int func(int n, int m)
16 {
17     int i,j=1,a,b=1,c,d=1,ans;
18     for(i=1;i<=n;i++)
19     {
20         j *= i;
21     }
22     for(a=1;a<=m;a++)
23     {
24         b *= a;
25     }
26     for(c=1;c<=n-m;c++)
27     {
28         d *= c;
29     }
30     ans = j/(b*d);
31     return ans;
32 }

递归:

 1 #include <stdio.h>
 2 int func(int n, int m);
 3 int main() 
 4 {
 5     int n, m;
 6     int ans;
 7     while(scanf("%d%d", &n, &m) != EOF) 
 8     {
 9         ans = func(n, m);
10         printf("n = %d, m = %d, ans = %d\n\n", n, m, ans);
11     }
12     return 0;
13 }
14 
15 int func(int n, int m)
16 {
17     int ans;
18     if(m == 0)
19     {
20         return 1;
21     }
22     else if(n == m)
23     {
24         return 1;
25     }
26     else if(n<m)
27     {
28         return 0;
29     }
30     else
31     {
32         return func(n-1,m)+func(n-1,m-1);
33     }
34 }

task7

 1 #include<stdio.h>
 2 #include<stdlib.h>
 3 int print_charman(int n);
 4 int p;
 5 int main() 
 6 {
 7     int n;
 8     printf("Enter n: ");
 9     scanf("%d",&n);
10     p = n;
11     print_charman(n);
12     return 0;
13 }
14 
15 int print_charman(int n)
16 {
17     int i=n,j,s;
18     if(i>0)
19     {
20         for(j=0;j<(2*i-1);j++)
21         {
22             printf(" O \t");
23         }
24         printf("\n");
25         for(s=p-n;s>0;s--)
26         {
27             printf("\t");
28         }
29         for(j=0;j<(2*i-1);j++)
30         {
31             printf("<H>\t");
32         }
33         printf("\n");
34         for(s=p-n;s>0;s--)
35         {
36             printf("\t");
37         }
38         for(j=0;j<(2*i-1);j++)
39         {
40 
41             printf("I I\t");
42         }
43         printf("\n");
44         for(s=p-n+1;s>0;s--)
45         {
46             printf("\t");
47         }
48         print_charman(n - 1);
49     }
50 }

 

标签:10,return,int,ans,实验,printf,include
From: https://www.cnblogs.com/yueTO233/p/18503222

相关文章

  • 实验三
    实验11#include<stdio.h>2charscore_to_grade(intscore); //函数声明3intmain(){4  intscore;5  chargrade;6  while(scanf("%d",&score)!=EOF){7    grade=score_to_grade(score); //函数调用8    printf("分数:%d,......
  • 实验6-2 英文字母替换加密(大小写转换+后移1位)
     ......
  • 实验3
    实验任务1:1intmain(){2intscore;3chargrade;45while(scanf("%d",&score)!=EOF){6grade=score_to_grade(score);7printf("分数:%d,等级:%c\n\n",score,grade);89}10return......
  • 实验3
    task.1代码:#include<stdio.h>#include<stdlib.h>#include<math.h>charscore_to_grade(intx);intmain(){intscore;chargrade;while(scanf("%d",&score)!=EOF){grade=score_to_grade(score);......
  • 实验三
    任务一源代码1#include<stdio.h>2charscore_to_grade(intscore);3intmain(){4intscore;5chargrade;6while(scanf("%d",&score)!=EOF){7grade=score_to_grade(score);8printf("分数:%d,等级:%c\......
  • 实验3
    任务11#include<stdio.h>23charscore_to_grade(intscore);45intmain(){6intscore;7chargrade;89while(scanf("%d",&score)!=EOF){10grade=score_to_grade(score);11printf(&......
  • 实验2 类和对象_基础编程1
    实验任务一代码t.h1#pragmaonce23#include<string>45//类T:声明6classT{7//对象属性、方法8public:9T(intx=0,inty=0);//普通构造函数10T(constT&t);//复制构造函数11T(T&&t);//移动构造函数12......
  • 算法设计实验6
    p1249有一个8*8的棋盘,行号、列号均为0-7,一个特殊放个的位置是(5,6),给出采用L形骨牌覆盖其他全部方格的一种方案1#include<ostream>2#include<iostream>3#defineMAX_SIZE84usingnamespacestd;5intk;6intx,y;7intboard[MAX_SIZE][MAX_SIZE];8int......
  • 实验三 C语言函数应用编程
    一、实验目的 能正确使用C语法规则定义,声明,调用函数能正确编写递归函数针对具体问题场景,合理抽象出独立的功能模块,正确定义函数并使用,使得代码更具可读性,可维护性针对具体问题场景,能正确,合理使用全局变量和局部static变量,解决实际问题二、实验准备 1,函数定义,声明,调用的语......
  • 实验3:工厂方法模式
    [实验任务一]:加密算法目前常用的加密算法有DES(DataEncryptionStandard)和IDEA(InternationalDataEncryptionAlgorithm)国际数据加密算法等,请用工厂方法实现加密算法系统。实验要求:1.画出对应的类图;2.提交该系统的代码,该系统务必是一个可以能够直接使用的系统,查阅资料完成相......