首页 > 其他分享 >实验三

实验三

时间:2024-10-27 15:34:09浏览次数:1  
标签:return int char score 实验 ans include

任务1

#include <stdio.h>
char score_to_grade(int score); // 函数声明
int main() {
int score;
char grade;
while(scanf("%d", &score) != EOF) {
grade = score_to_grade(score); // 函数调用
printf("分数: %d, 等级: %c\n\n", score, grade);
}
return 0;
}
// 函数定义
char score_to_grade(int score) {
char ans;
switch(score/10) {
case 10:
case 9: ans = 'A'; break;
case 8: ans = 'B'; break;
case 7: ans = 'C'; break;
case 6: ans = 'D'; break;
default: ans = 'E';
}
return ans;
}

问题1定义一个函数,将分数转化为对应的等第 形式参数score  返回值类型char字符 问题2 没有break终止,会一直进行指令,输出结果始终为E 任务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;
}
//dingyihanshu
int sum_digits(int n){
 int ans=0;
 while(n!=0){
  ans+=n%10;
  n/=10;
 }
     return ans;
  }

 

问题1输入的n除以10取余,将余数(个位)加到ans中,再将n/10后的数再进行一次这样的操作,直到n=0,ans是所有的位数上数字之和 问题2使用递归函数10以内即为自身,十以上将个位保留,前面的数继续进入函数,自己调用自己 任务3
#include<stdio.h>
int power(int x,int n);
int main(){
int x,n;
int ans;
while(printf("Ener x and n:"),scanf("%d%d",&x,&n)!=EOF){
 ans=power(x,n);
 printf("n=%d,ans=%d\n\n",n,ans);
 }
 return 0;
}
//dingyihanshu
int power(int x,int n){
 int t;
 if(n==0)
 return 1;
 else if(n%2)
 return x*power(x,n-1);
 else{
     t=power(x,n/2);
     return t*t;
 } 
}

问题1 power定义一个函数,x的n次方

问题2递归.当n为2的倍数时,化为t*t(t=power(x,n/2))再次调用了这个函数;重复使用至n为奇数时,提出1个x,化为x*(n-1)个x相乘,(n-1)又变回偶数,又带回前面的偶数t*t

任务4

#include<stdio.h>
#include<math.h>
int is_prime(int n); 
int main(){
    int i,count=0;
    for(i=2;i<=100;i++){
        if(is_prime(i)&&is_prime(i+2))
       { printf("%d,%d\n",i,i+2);
    count++;}
    }
    printf("100以内的孪生素数共有%d个",count);
    return 0;
}
//函数定义
int is_prime(int n){
    int i;
    for(i=2;i<=(n/2);i++)
    {
        if(n%i==0)
        return 0;
        }
      return 1;
    
}

 

任务5

 

#include<stdio.h>
#include<stdlib.h>
void hanoi(unsigned int n,char from,char temp,char to);//递归声明
void moveplate(unsigned int n,char from,char to);//移动声明
int count=0;
int main(){
    unsigned int n;
    while(scanf("%d",&n)!=EOF){
        hanoi(n,'A','B','C');
        printf("一共移动了%d次\n",count);
        count=0;}
    system("pause");
    return 0;
}
void hanoi(unsigned int n,char from,char temp,char to){
    if(n==1){
    moveplate(n,from,to);}
    else{
        hanoi(n-1,from,to,temp);
        moveplate(n,from,to);        
        hanoi(n-1,temp,from,to);
    }
}
void moveplate(unsigned int n,char from,char to) 
{
printf("%u:%c-->%c\n",n,from,to);
count++;
}

任务6

 

1迭代

#include <stdio.h>
int func(int n, int m);   // 函数声明

int main() {
    int n, m;
    int ans;

    while(scanf("%d%d", &n, &m) != EOF) {
        ans = func(n, m);   // 函数调用
        printf("n = %d, m = %d, ans = %d\n\n", n, m, ans);
    }
        
    return 0;
}
//函数定义
int func(int n,int m){
    int x=1,y=1,z=1,a,b,c,ans;
    if(n<m)
    return ans=0;
    if(n==m)
    return ans=1;
    else{
         for(a=m;a>=1;a--){//    m!   m=5
        x*=a;}
        for(b=n;b>=1;b--){//     n!     n=3
        y*=b;}
        for(c=(n-m);c>=1;c--){    //(n-m)!     n-m=2
        z*=c;}
        return ans=(y/(x*z)); }
   
    } 

2递归

#include <stdio.h>
int func(int n, int m);   // 函数声明

int main() {
    int n, m;
    int ans;

    while(scanf("%d%d", &n, &m) != EOF) {
        ans = func(n, m);   // 函数调用
        printf("n = %d, m = %d, ans = %d\n\n", n, m, ans);
    }
        
    return 0;
}
//函数定义
int func(int n,int m){
    int ans;
    if(n==m||m==0){
        return ans=1;
    }
    if(m>n)
    return 0;
    else
    ans=func(n-1,m)+func(n-1,m-1);
    return ans;
    
    }

任务7

#include<stdio.h>
#include<stdlib.h>
void print_charman(int n);
int main(){
    int n;
    printf("Enter n:");
    scanf("%d",&n);
    print_charman(n);
    return 0;
}
void print_charman(int n){
    int x,y=0,z,a,b,c;//一行个数z    yx定义空格  abc个数 
    z=n*2-1;
    while(z!=-1) {
        for(x=0;x<y;x++){
            printf(" ");}
        for(a=0;a<z;a++){
            printf(" O    ");}
        printf("\n");
        for(x=0;x<y;x++){
            printf(" ");}
        for(b=0;b<z;b++){
            printf("<H>   ");}
        printf("\n");
        for(x=0;x<y;x++){
            printf(" ");}
        for(c=0;c<z;c++){
            printf("I I   ");}
        printf("\n");
        y+=6;
        z=z-2;
}}

 

 

 

 

标签:return,int,char,score,实验,ans,include
From: https://www.cnblogs.com/sjdys/p/18497969

相关文章

  • 实验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软件厂商搜集最全最新的特征码库,并以此来尝试匹配文件中的一个或几个片段②启发式恶意软件检测:根据片面特征推断,包括行为(如连接恶意网站、开放端口、修改系统文件等),外观(文件签名、结构、厂商等)。③基于行......
  • 实验2
    任务1:T.h1#pragmaonce23#include<string>45//类T:声明6classT{7//对象属性、方法8public:9T(intx=0,inty=0);//普通构造函数10T(constT&t);//复制构造函数11T(T&&t);//移动构造函数12~T();......