首页 > 其他分享 >实验三

实验三

时间:2024-10-25 19:58:36浏览次数:1  
标签:10 return int ans char 实验 printf

实验1

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

问题1

功能:将分数转化为等级    形参整型   返回值字符型

问题2

swich语句case后加break跳出分支

实验2

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

 

问题1

功能 计算输入数的每一位数字之和

问题2

可以实现   该函数用递归算法 依次从最高一位加到最后一位

实验3

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

 问题1

功能 计算 x 的n次方

 

 

 

 

实验4

 1 #include<stdio.h>
 2 #include<math.h>
 3 int is_prime(int x);
 4 
 5 int main(){
 6     int t = 0, i, count1 = 0;
 7     int count = 0;
 8     int prime[100];
 9     
10     printf("100以内的孪生素数:\n");
11     for(i = 1;i<=100;i++){
12         if(is_prime(i)){
13             prime[t] = i;
14             t++;
15             count1++; 
16         }
17     } 
18     for(i= 0;i<count1;i++){
19         if(is_prime(prime[i] + 2)){
20             count++;
21             printf("%d %d\n",prime[i],prime[i] + 2);
22         }
23         
24     }
25     
26      
27     printf("100以内的孪生素数共有%d个\n",count);
28     
29     return 0;
30 }
31 
32 int is_prime(int x){
33     int i;
34     if(x == 1)
35       return 0;
36     else {
37         for(i = 2;i<=sqrt(x);i++){
38             if(x%i == 0)
39             return 0;
40         } 
41         
42 
43         }
44     return 1;    
45     }
46     

 

实验5

 1 #include<stdio.h>
 2 #include<stdlib.h>
 3 void hanoi(unsigned int t,char from,char temp,char to);
 4 void moveplate(unsigned int n,char from,char to);
 5 int count = 0;
 6 int main(){
 7     unsigned int n;
 8     
 9     while(scanf("%u",&n) != EOF){
10     
11     hanoi(n,'A','B','C');
12     printf("一共移动了%d次\n",count);
13     count = 0;
14 }
15     
16     return 0; 
17     
18 } 
19 
20 void hanoi(unsigned int n,char from,char temp,char to){ 
21     if(n == 1){
22     
23        moveplate(n,from,to);
24        count++;
25     }
26     else
27     {
28     
29         hanoi(n - 1,from,to,temp);
30         moveplate(n,from,to);
31         count++;
32         hanoi(n - 1,temp,from,to);
33         
34         
35        } 
36 }
37 void moveplate(unsigned int n,char from,char to) {
38     printf("%u:%c-->%c\n",n,from,to);
39 }        
40     

实验6

迭代

 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 
13 int func(int n, int m){
14     int i, ch1= 1, ch2 = 1 ; 
15     for (i = 1;i<=m;i++)
16     ch1 *= i; 
17     for (i = n - m + 1;i<= n;i++)
18     ch2 *= i;
19     return ch2/ch1;  
20     
21 }

递归

 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 
13 int func(int n, int m){
14    if (n < m) 
15      return 0;
16    else if(m == 0||m == n)
17      return 1;
18    else
19      return func(n -1,m)+func(n -1,m - 1);
20     
21 }

 

实验7

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

 

标签:10,return,int,ans,char,实验,printf
From: https://www.cnblogs.com/wrc123/p/18497836

相关文章

  • 实验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.提交该系统的代码,该系统务必是一个可以能够直接使用的系统,查阅资料完成相......
  • 20222326 2024-2025-1 《网络与系统攻防技术》实验三实验报告
    1.实验内容实验具体内容正确使用msf编码器,veil-evasion,自己利用shellcode编程等免杀工具或技巧正确使用msf编码器,使用msfvenom生成如jar之类的其他文件veil,加壳工具使用C+shellcode编程通过组合应用各种技术实现恶意代码免杀用另一电脑实测,在杀软开启的情况下,可......