首页 > 其他分享 >实验3

实验3

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

任务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     
15     return 0;
16 }
17 
18 char score_to_grade(int score){
19     char ans;
20     
21     switch(score/10){
22     case 10:
23     case 9: ans='A';break;
24     case 8: ans='B';break;
25     case 7: ans='C';break;
26     default: ans='E';
27     }
28     
29     return ans;
30 }

图片

判断等级   int char

有,没有break语句会继续执行下面指令

任务2

源代码

#include<stdio.h>

int sum_digits(int n);

int main(){
    int n;
    int 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;
}  //迭代 
/*int sum_digits(int n){
    if(n<10)
        return n;
        
return sum_digits(n/10)+n%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 }

图片

x的n次方

任务4

源代码

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

图片

任务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 static int count=0;
 6 int main(){
 7     unsigned int n;
 8     while(scanf("%u",&n)!=EOF){
 9         count=0;
10         hanoi(n,'A','B','C');
11         printf("一共移动了%d次\n",count);
12     }
13     system("pause");
14     return 0;
15 }
16 void hanoi(unsigned int n,char from,char temp,char to)
17 {
18     if(n==1)
19         moveplate(n,from,to);
20     else
21     {
22         hanoi(n-1,from,to,temp);
23         moveplate(n,from,to);
24         hanoi(n-1,temp,from,to);
25     }
26 }
27 void moveplate(unsigned int n,char from,char to)
28 {
29     printf("%u:%c-->%c\n",n,from,to);
30     count=count+1;
31 }

图片

任务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 /*int func(int n,int m){
16     int a,b,c,d,ans;
17     b=d=1;
18     for(a=0;a<=m-1;a++)
19         b=b*(n-a);
20     for(c=1;c<=m;c++)
21         d=d*c;
22     ans=b/d;
23     return ans;
24 }//迭代 */
25 int func(int n,int m){
26     if(n<m)
27         return 0;
28     if(m==0)
29         return 1;
30      else if(m==1)
31         return n;
32     else
33         return func(n-1,m)+func(n-1,m-1);
34 }//递归 

图片

迭代

源代码

 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 int func(int n,int m){
16     int a,b,c,d,ans;
17     b=d=1;
18     for(a=0;a<=m-1;a++)
19         b=b*(n-a);
20     for(c=1;c<=m;c++)
21         d=d*c;
22     ans=b/d;
23     return ans;
24 }//迭代 
25 /*int func(int n,int m){
26     if(n<m)
27         return 0;
28     if(m==0)
29         return 1;
30      else if(m==1)
31         return n;
32     else
33         return func(n-1,m)+func(n-1,m-1);
34 }//递归 */

图片

任务7

源代码

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

图片

 

标签:return,int,ans,char,实验,printf,include
From: https://www.cnblogs.com/yuehui06/p/18508504

相关文章

  • 实验三
    任务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(&......
  • 20222408 2024-2025-1 《网络与系统攻防技术》实验三实验报告
    1.实验内容1.1回答问题(1)杀软是如何检测出恶意代码的?①基于特征码的检测:AV软件厂商搜集最全最新的特征码库,并以此来尝试匹配文件中的一个或几个片段②启发式恶意软件检测:根据片面特征推断,包括行为(如连接恶意网站、开放端口、修改系统文件等),外观(文件签名、结构、厂商等)。③基于行......