2024.7.11作业

news2024/9/28 17:33:19

1.使用递归实现 求 n 的 k 次方

#include <stdio.h>

int digui(int n,int k)
{
    if(k==0)      //任何数的0次方等于1
    {
        return 1;
    }
    else
    {
        return n*digui(n,k-1);   //递归
    }
}

int main(int argc,const char *argv[])
{
    int n=0,k=0,x=0;
    printf("请输入:");
    scanf("%d %d",&n,&k);
    getchar();
    x=digui(n,k);
    printf("%d的%d次方是%d\n",n,k,x);
    return 0;
}

 

2.使用递归实现 strlen 的功能

#include <stdio.h>

int digui(char *p)
{
    if(*p=='\0')   // '\0'是字符结束标志
    {
        return 0;
    }
    else
    {
        return 1+digui(p+1);   //递归
    }
}

int main(int argc,const char *argv[])
{
    char arr[20]={0};
    printf("请输入字符串:");
    gets(arr);
    int x=digui(arr);
    printf("字符串的实际长度为%d\n",x);
    return 0;
}

 

3.使用递归实现汉诺塔问题

#include <stdio.h>

int digui(int n)
{
    if(n==1)     //当圆环为1时移动一次
    {
        return 1;
    }
    else
    {
        return 2*digui(n-1)+1;    //递归
    }
}

int main(int argc,const char *argv[])
{
    int n;
    printf("请输入圆环个数:");
    scanf("%d",&n);
    int x=digui(n);
    printf("需要移动%d次\n",x);
    return 0;
}

 

4.定义一个函数将一个字符串从大到小排序

#include <stdio.h>
#include <string.h>

void paixu(char *p,int n)
{
    for(int i=1;i<n;i++)   //冒泡排序
    {
        for(int j=0;j<n-i;j++)
        {
            if(*(p+j)<*(p+j+1))
            {
                char temp=*(p+j);  //交换
                *(p+j)=*(p+j+1);
                *(p+j+1)=temp;
            }
        }
    }
    printf("排序后的字符串为:");
    for(int i=0;i<n;i++)    //打印排序后的字符串
    {
        printf("%c",*(p+i));
    }
    putchar(10);
}

int main(int argc,const char *argv[])
{
    char arr[20]={0};
    printf("请输入字符串:");
    gets(arr);
    paixu(arr,strlen(arr));    //调用排序函数
    return 0;
}

 

5.实现一个函数,用于检查一个字符串是否是回文字符串(正序和反序都相同)

#include <stdio.h>
#include <string.h>

void huiwen(char *p,int n)
{
    int flag=0;     //是否为回文数的标志
    for(int i=0;i<n/2;i++)
    {
        if(*(p+i)!=*(p+n-i-1))  //判断是否为回文数
        {
            flag=1;   //不是则标志改为1,并结束循环
            break;
        }
    }
    if(flag==1)
    {
        printf("%s不是回文数\n",p);
    }
    else
    {
        printf("%s是回文数\n",p);
    }
}

int main(int argc,const char *argv[])
{
    char arr[20]={0};
    printf("请输入字符串:");
    gets(arr);
     huiwen(arr,strlen(arr));    //调用函数
     return 0;
}

6.使用指针完成判断自己的主机存储多字节整数时,是大端存储还是小端存储 

#include <stdio.h>
int main(int argc,const char *argv[])
{
     int a=0x12345678;
    char *p=(char *)&a;
    if(*p==0x78)
    {
        printf("小端\n");
    }
    else    
    {
        printf("大端\n");
    }
        return 0;
}

 

7. 

#include <stdio.h>
#include <string.h>

int danci(char *p,int n)
{
    int x=0,f=0;
    for(int i=0;i<n;i++)
    {
        //判断是字母且f为0才计数
        if((*(p+i)>='a'&&*(p+i)<='z'||*(p+i)>='A'&&*(p+i)<='Z')&&f==0)
        {
            x++;
            f=1;    //f改为1,直到有不属于字母才重新改为0
        }
        if(!(*(p+i)>='a'&&*(p+i)<='z'||*(p+i)>='A'&&*(p+i)<='Z'))//不是字母
        {
            f=0;//改为0
        }
            
    }
    return x;
}

int main(int argc,const char *argv[])
{
    char arr[100]={0};
    printf("请输入字符串:");
    gets(arr);
    int x=danci(arr,strlen(arr));    //调用函数,并将结果赋为x
    printf("单词个数为%d个\n",x);
    return 0;
}

思维导图

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1919654.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

龙旗科技在线测评、招聘笔试 如何通过、考点分析|备考建议

龙旗电子入职在线测验真题考点分析&#xff0c;通过技巧&#xff1f; ​言语逻辑部分的考试时间是10分钟&#xff0c;需要完成10道题目。每题的作答时间被限定为60秒&#xff0c;一旦提交后无法返回修改。这部分的题目类型包括总结中心思想、选词填空和推理文章意思。考生需要快…

大模型真能模拟人类语言?中国人民大学提出新的数据增强方法

获取本文论文原文PDF&#xff0c;请在公众号【AI论文解读】留言&#xff1a;论文解读 论文标题:LLM-Generated Natural Language Meets Scaling Laws: New Explorations and Data Augmentation Methods 机构: School of Information Resource Management, Renmin University …

springboot定制化书籍销售系统-计算机毕业设计源码71193

摘要 随着电子商务的快速发展和图书市场的不断变革&#xff0c;定制化书籍销售系统的需求日益凸显。本文介绍了一种基于SpringBoot框架的定制化书籍销售系统的设计与实现。该系统旨在满足用户对于个性化、专业化的书籍需求&#xff0c;为用户提供高效、便捷的定制化购书体验。 …

C# HuaYun出口服务器

直连 串口转网口&#xff1a;通过请求帧写入波特率 或者地址位 或者温度 湿度等数据 读取时候 [0x01,0x03] 写入的时候[0x01&#xff0c;0x03] 写入波特率的时候请求帧 [0x01,0x06,0x07,0xD1,0x01,0x14] 把波特率改成0x01,0x14 namespace _01_HuaYun出口服务器 {public partia…

如何监控别人的聊天记录?三种监控聊天记录的方式,千万别让老板看见

监控别人的聊天记录&#xff0c;无论是出于父母对子女的关心、企业管理层对员工的监管&#xff0c;还是其他目的&#xff0c;都必须在法律许可的范围内进行&#xff0c;并且通常需要获得被监控者的明确同意。 非法监控他人的通信记录是严重侵犯隐私权的行为&#xff0c;违反了…

《昇思25天学习打卡营第18天|onereal》

RNN实现情感分类 概述 情感分类是自然语言处理中的经典任务&#xff0c;是典型的分类问题。本节使用MindSpore实现一个基于RNN网络的情感分类模型&#xff0c;实现如下的效果&#xff1a; 输入: This film is terrible 正确标签: Negative 预测标签: Negative输入: This film…

pdf压缩文件怎么压缩到小于10M或5m 且文件质量不影响画质清晰度

在数字化办公和学习中&#xff0c;pdf格式因其良好的兼容性和稳定性而受到广泛应用。然而&#xff0c;pdf文件体积较大时&#xff0c;会给我们带来传输和存储上的困扰。本文将为您介绍几种简单有效的方法&#xff0c;帮助您轻松压缩pdf文件&#xff0c;提高传输效率&#xff0c…

掉打面试官之Java的SPI机制理解

本人详解 作者:王文峰,参加过 CSDN 2020年度博客之星,《Java王大师王天师》 公众号:JAVA开发王大师,专注于天道酬勤的 Java 开发问题中国国学、传统文化和代码爱好者的程序人生,期待你的关注和支持!本人外号:神秘小峯 山峯 转载说明:务必注明来源(注明:作者:王文峰…

鸿蒙开发:Universal Keystore Kit(密钥管理服务)【HMAC(ArkTS)】

HMAC(ArkTS) HMAC是密钥相关的哈希运算消息认证码&#xff08;Hash-based Message Authentication Code&#xff09;&#xff0c;是一种基于Hash函数和密钥进行消息认证的方法。 开发步骤 生成密钥 指定密钥别名。初始化密钥属性集。调用[generateKeyItem]生成密钥&#xf…

武夷山细节决定成败抓质量求生存

在当今竞争激烈的市场环境中&#xff0c;细节决定成败&#xff0c;质量求生存的理念已成为企业发展的关键。蓝鹏测控科技有限公司&#xff0c;一家专业从事工业测量领域的高新技术企业&#xff0c;正是秉持这一理念&#xff0c;在工业测径仪领域取得了显著成就。 蓝鹏测控科技…

tensorflow卷积层操作

全连接NN&#xff1a; 每个神经元与前后相邻层的每一个神经元都有全连接关系。输入是特征&#xff0c;输出为预测结果。 参数个数(前层*后层后层&#xff09; 实际应用时&#xff0c;会先对原始图像进行特征提取&#xff0c;再把提取到的特征送给全连接网络 会先进行若干层提…

复杂度(上卷)

前言 在正式进入今天的主题之前&#xff0c;我们不妨先来回顾一下初步学习数据结构后必须知道的概念。&#x1f3b6; 数据结构 数据结构是计算机存储、组织数据的方式&#xff0c;指相互间存在一种或多种特定关系的数据元素的集合。 &#xff08;没有一种单一的数据结构能够…

在centos7中安装MySQL5.7,是否必须卸载centos7自带的mariadb?

在CentOS 7 中安装 MySQL 5.7 时&#xff0c;不一定必须卸载系统自带的 MariaDB&#xff0c;但为了避免冲突和确保 MySQL 的正常运行&#xff0c;通常建议先卸载 MariaDB。以下是具体的步骤&#xff1a; 卸载 MariaDB&#xff08;如果已经安装&#xff09;&#xff1a; sudo sy…

强化学习驱动的狼人游戏语言智能体战略玩法

Language Agents with Reinforcement Learning for Strategic Play in the Werewolf Game 论文地址: https://arxiv.org/abs/2310.18940https://arxiv.org/abs/2310.18940 1.概述 在AI领域,构建具备逻辑推理、战略决策以及人类沟通能力的智能体一直被视为长远追求。大规模语…

小阿轩yx-NoSQL 之 Redis 配置与优化

小阿轩yx-NoSQL 之 Redis 配置与优化 Redis 数据库介绍 是一个非关系型数据库 关系数据库与非关系型数据库 按照数据库结构划分的 关系型数据库 是一个结构化的数据库&#xff0c;创建在关系模型基础上&#xff0c;一般面向于记录借助集合代数等数学概念和方法处理数据库…

设计模式探索:责任链模式

1. 什么是责任链模式 责任链模式 (Chain of Responsibility Pattern) 是一种行为型设计模式。定义如下&#xff1a; 避免将一个请求的发送者与接收者耦合在一起&#xff0c;让多个对象都有机会处理请求。将接收请求的对象连接成一条链&#xff0c;并且沿着这条链传递请求&…

数列分块<2>

本期是数列分块入门<2>。该系列的所有题目来自hzwer在LOJ上提供的数列分块入门系列。 Blog:http://hzwer.com/8053.html sto hzwer orz %%% [转载] 好像上面的链接↑打不开&#xff0c;放一个转载:https://www.cnblogs.…

CUDA原子操作

代码 #include <cuda_runtime.h> #include <stdio.h>__global__ void atomicAddAndGet(int *result, int *valueToAdd) {// 原子加法int addedValue atomicAdd(result, *valueToAdd);// 通过原子操作后读取值&#xff0c;确保是加法后的值addedValue *valueToAd…

LabVIEW开发CAN总线多传感器液位检测系统

设计并实现了一个基于CAN总线和LabVIEW的多传感器液位检测系统。该系统利用STM32F107单片机进行模拟信号与数字信号的转换&#xff0c;通过TJA1050实现CAN总线通信&#xff0c;并使用USB-CAN分析仪连接PC。LabVIEW用于数据采集、人机交互界面的设计、数据分析和仪器标定。系统能…

前端必修技能:高手进阶核心知识分享 - 三万字帮你搞定CSS动画(形变动画、过渡动画、关键帧动画)

在CSS的世界里,存在着多种能体现动画效果的属性:CSS transform、CSS Transition 和 CSS Animation。让开始接触CSS的同学感到困惑。要搞清楚CSS的动画,我们就必须先把这几种属性做一下区别。 CSS transform 属性、CSS Transition 属性、 CSS Animation 属性的区别 CSS tra…