首页 > 其他分享 >实验3

实验3

时间:2024-10-27 15:42:39浏览次数:4  
标签:10 return int ans char 实验 printf

任务1

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

1 判断分数等级  整形 字符形

2 有问题 A到D为字符串型  E为字符型 没有break会不断执行

任务2

 1 #include <stdio.h>
 2 
 3 int sum_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     return 0;
15 }
16 
17 int sum_digits(int n) {
18     int ans = 0;
19 
20     while(n != 0) {
21         ans += n % 10;
22         n /= 10;
23     }
24 
25     return ans;
26 }

1 让一个数的各个位数相加

2 能     第一种通过对一个数取余10后得到的数进行相加 第二种先判断是否为个位数,再通过递归

任务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     return 0;
15 }
16 
17 int power(int x, int n) {
18     int t;
19 
20     if(n == 0)
21         return 1;
22     else if(n % 2)
23         return x * power(x, n-1);
24     else {
25         t = power(x, n/2);
26         return t*t;
27     }
28 }

1 计算x的n次幂

2 是   

 

任务4

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

任务5

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

 

任务6 

 

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

 

 

 

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

任务7

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

 

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

相关文章

  • 实验3
    任务1原代码1#include<stdio.h>23charscore_to_grade(intscore);45intmain(){6intscore;7chargrade;89while(scanf("%d",&score)!=EOF){10grade=score_to_grade(score);11printf("......
  • 实验三
    任务1#include<stdio.h>charscore_to_grade(intscore);//函数声明intmain(){intscore;chargrade;while(scanf("%d",&score)!=EOF){grade=score_to_grade(score);//函数调用printf("分数:%d,等级:%c\n\n",score,grade);}re......
  • 实验2 类和对象_基础编程1
    task1代码:t.h1#pragmaonce23#include<string>45//类T:声明6classT{7//对象属性、方法8public:9T(intx=0,inty=0);//普通构造函数10T(constT&t);//复制构造函数11T(T&&t);//移动构造函数12~......
  • 实验三
    任务一源代码:#include<stdio.h>charscore_to_grade(intscore);intmain(){intscore;chargarde;while(scanf("%d",&score)!=EOF){garde=score_to_grade(score);printf("分数:%d,等级:%c\n\n",sc......
  • 【机器学习】任务九:卷积神经网络(基于 Cifar-10 数据集的彩色图像识别分类、基于 CNN
    1.卷积神经网络        卷积神经网络(ConvolutionalNeuralNetwork,CNN)是一种专门用于处理数据网格结构(如图像、视频等)的深度学习模型,在计算机视觉任务中被广泛应用,如图像分类、目标检测、图像分割等。以下是卷积神经网络的详细介绍:1.1 卷积神经网络(CNN)结构及......
  • 1024程序员节快乐——华为静态路由实现路由负载分担实验案例
    目录静态路由实现路由负载分担静态路由简介配置注意事项组网需求配置思路操作步骤配置文件静态路由实现路由负载分担实验组网图形图1 配置静态路由实现路由负载分担组网图 静态路由简介配置注意事项组网需求配置思路操作步骤配置文件静态路由简介静态路......
  • 基于微信小程序的实验室管理系统的设计与实现-计算机毕业设计源码+LW文档
    摘要随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。本文介绍了实验室管理微信小程序的开发全过程。通过分析实验室管理微信小程序管理的不足,创建了一个计算机管理实验室管理微信小程序的方案。文章介绍了实验室管理微信小程序的系统分析......
  • 实验2 类和对象——基础编程1
    一、实验目的 加深对类,对象的理解,能够解释类的封装,类的接口会使用C++语法规则正确定义,实现,测试类,会使用类创建对象,并基于对象编程针对具体问题场景,练习运用面向对象思维进行设计,合理利用C++语言特性(访问权限控制,static,friend,const),在数据共享和保护之间达到平衡会用多文件......
  • 实验3
    实验任务1:源代码:1#include<stdio.h>23charscore_to_grade(intscore);45intmain(){6intscore;7chargrade;89while(scanf("%d",&score)!=EOF){10grade=score_to_grade(score);11p......
  • 实验3
    任务1:源代码1#include<stdio.h>23charscore_to_grade(intscore);45intmain(){6intscore;7chargrade;89while(scanf("%d",&score)!=EOF){10grade=score_to_grade(score);11printf(&......