C语言每日一练----Day(13)

news2024/10/7 18:28:26

本专栏为c语言练习专栏,适合刚刚学完c语言的初学者。本专栏每天会不定时更新,通过每天练习,进一步对c语言的重难点知识进行更深入的学习。

今日练习题关键字:数字颠倒 单词倒排

在这里插入图片描述

💓博主csdn个人主页:小小unicorn
⏩专栏分类:C语言天天练
🚚代码仓库:小小unicorn的代码仓库🚚
🌹🌹🌹关注我带你学习编程知识

Day1

  • 题目一:
    • 题目描述:
    • 解题思路:
    • 代码实现:
    • 结果情况:
  • 题目二:
    • 题目描述:
    • 解题思路:
    • 代码实现:
    • 结果情况:
  • 总结:

题目一:

题目描述:

题目来源:数字颠倒
输入一个整数,将这个整数以字符串的形式逆序输出
程序不考虑负数的情况,若数字含有0,则逆序形式也含有0,如输入为100,则输出为001

在这里插入图片描述

解题思路:

可以通过 scanf(“%s”) 把输入的数字当做一个字符串进行接收,然后直接从后向前倒序输出。

代码实现:

#include <stdio.h>
#include<string.h>
int main() 
{
    char str[32] = {0};
    scanf("%s", str);
    //gets(str);
    for (int i = strlen(str) - 1; i >= 0; i--) 
    {
        printf("%c", str[i]);
    }
    printf("\n");
}

结果情况:

在这里插入图片描述
符合题目要求,问题得到解决。

题目二:

题目描述:

题目来源:单词倒排
对字符串中的所有单词进行倒排。

说明:
1、构成单词的字符只有26个大写或小写英文字母;
2、非构成单词的字符均视为单词间隔符;
3、要求倒排后的单词间隔符以一个空格表示;如果原字符串中相邻单词间有多个间隔符时,倒排转换后也只允许出现一个空格间隔符;
4、每个单词最长20个字母;

解题思路:

1.整体思想是双指针法,因此定义一对快慢指针p1,p2.
2.首先寻找一个单词的末尾,因此当s[p1]不是字母时p1就要–,循环终止时只要p1将指向一个单词的末尾(还有单词的话),此时将用p2记录下这个单词的结尾。
3.继续寻找单词的开头,因此当s[p1]为字母的时候就让p1–,最终p1+1指向该单词的开头,我们从p1+1遍历到p2,依次打印即可。

注意:scanf函数不能接受带空格的字符串,所以要使用gets函数

代码实现:

#include<stdio.h>
#include<ctype.h>
#include<string.h>
#include<stdlib.h>
int main() 
{
    char s[10000];
    gets(s);
    int len = strlen(s);
    int p1 = len - 1, p2 = len;
    while (p1 >= 0) 
    {
        while (p1 >= 0 && !isalpha(s[p1]))
            p1--;
        p2 =p1;
        while (p1 >= 0 && isalpha(s[p1]))
            p1--;
        for (int i = p1 + 1; i <= p2; i++)
            printf("%c", s[i]);
        printf(" ");
    }

    return 0;
}

结果情况:

在这里插入图片描述

符合题目要求,问题得到解决。

总结:

文章到这里就要告一段落了,有更好的想法或问题,欢迎评论区留言。
希望今天的练习能对您有所收获,咱们下期见!

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

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

相关文章

git 代码提交有错误,要回退到指定的分支

第一步&#xff0c;找到要回退到的版本号 第二步&#xff0c;切换到要回退的分支&#xff0c;执行 git reset --hard xxx第三步&#xff0c;提交 git push -f

STM32--RTC实时时钟

文章目录 Unix时间戳时间戳转换BKPRTC简介RTC框图硬件电路RTC的注意事项RTC时钟实验工程 Unix时间戳 Unix 时间戳是从1970年1月1日&#xff08;UTC/GMT的午夜&#xff09;开始所经过的秒数&#xff0c;不考虑闰秒。 时间戳存储在一个秒计数器中&#xff0c;秒计数器为32位/64…

【大数据毕设】基于Hadoop的招聘网站可视化的设计与实现(一)

博主介绍&#xff1a;✌全网粉丝6W,csdn特邀作者、博客专家、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于大数据技术领域和毕业项目实战✌ &#x1f345;文末获取项目联系&#x1f345; 基于Hadoop的招聘网站可视化的设计与实现 摘要&#…

gitHooks使用教程

1. 安装所需依赖 npm install eslint prettier husky lint-staged --save-dev 2.初始化 husky npx husky-init && npm install 这将创建一个 .husky/ 目录&#xff0c;并且在其中包含一个示例的 pre-commit 文件。 3.设置 pre-commit 钩子 npx husky add .husky/…

正规黄金代理的三大要素

对于现货黄金投资来说&#xff0c;寻找一个正规的黄金代理是十分重要的问题。在目前的现货黄金投资市场中&#xff0c;现货黄金代理的数量很多&#xff0c;他们都致力于耕耘现货黄金投资市场。当越来越多的专业人士加入到现货黄金投资的市场中当中时&#xff0c;这个市场将会越…

【AI辅助办公】PDF转PPT,移除水印

PDF转PPT 将PDF上传链接即可转换成PPT。​​​​​​ ​​​​​​​ https://www.camscanner.com/pdftoppthttps://www.camscanner.com/pdftoppt​​​​​​​​​​​​​​移除水印 第一步&#xff1a;打开视图-宏 第二步&#xff1a;输入宏名&#xff08;可以是人以文字…

天津python培训机构大揭秘!Python与人工智能

Python是一门开源的编程语言&#xff0c;它已经成为了企业界和科技领域大多数选择的语言之一。许多人已经通过编写Python应用程序赚取了不错的收入&#xff0c;这些成功者之所以能够成功&#xff0c;一部分原因是因为他们善于创新&#xff0c;能够始终跟上技术和市场&#xff0…

基于单片机的超声波语音测距系统

一、系统方案 超声波具有指向性强&#xff0c;能量消耗缓慢&#xff0c;在介质中传播的距离较远&#xff0c;因而超声波经常用于距离的测量&#xff0c;如测距仪和物位测量仪等都可以通过超声波来实现。利用超声波检测往往比较迅速、方便、计算简单、易于做到实时控制&#xff…

Joom、Etsy、Daraz、Newegg专业运营模式解析,助你更上一层楼

首先我们来先了解一下这些平台的结构和运营模式。 Joom是一家总部位于爱沙尼亚的跨境电商平台&#xff0c;专注于为全球消费者提供具有竞争力价格和高品质商品的便利购物体验。Joom通过直采模式与全球品牌和供应商直接合作&#xff0c;确保商品的优质和价格的合理。此外&#x…

java使用多线程不分页查询100万条数据

如果用普通查询需要5分多分钟才查询完毕&#xff0c;所以我们用索引加多线程来实现。 那我们就开始吧&#xff01;GO&#xff01;&#xff01;GO&#xff01;&#xff01; 数据库设计 编写数据库字段 然后要生成100万条数据 在数据库添加索引 代码实现 java编写 controll…

STM32CubeMX 软件删除用户代码的问题解决

总结stm32cubeMx 会删除用户代码的问题。 自己的代码不会被删除的软件格式及配置方法。当然还需要注意一点&#xff1a;软件生成的工程不能有中文字符&#xff0c;要不然生成错误。 1、stm32cubeMx 的配置如下&#xff1a; 2、就是按照格式把自己的代码写到应该写的位置。如下图…

【Python】Python Flask token身份认证(附完整代码)

前言 Python Flask是一个使用Python编写的轻量级Web应用框架&#xff0c;它可以非常方便地搭建Web应用。在Web应用中&#xff0c;经常需要进行身份认证&#xff0c;以确保只有授权用户才能访问某些资源。本文将介绍如何使用token进行身份认证&#xff0c;以及如何在Python Fla…

IIS搭建本地电脑服务器:通过内网穿透技术实现公网访问的步骤指南

1.前言 在网上各种教程和介绍中&#xff0c;搭建网页都会借助各种软件的帮助&#xff0c;比如网页运行的Apache和Nginx、数据库软件MySQL和MSSQL之类&#xff0c;为方便用户使用&#xff0c;还出现了XAMPP、PHPStudy、宝塔面板等等一系列集成服务&#xff0c;都是为了方便我们…

20W到80W SIP音柱

SIP-7042 20W到80WSIP音柱 一、描述 SIP-7042是一款壁挂式SIP有源音柱&#xff0c;具有10/100M以太网接口&#xff0c;可将SIP音源通过自带的功放和喇叭输出播放&#xff0c;其采用铝合金防水设计&#xff0c;功率可以从20W到80W。SIP-7042作为SIP广播播放系统的终端&#xff…

一招搞定Nuxt3中配置全局样式和全局变量

// nuxt.config.ts // https://nuxt.com/docs/api/configuration/nuxt-config export default defineNuxtConfig({devtools: { enabled: true },css: [/assets/style/global.less], // 全局样式vite: {css: {preprocessorOptions: {less: {additionalData: import "/asse…

记录一次ORA-00600 [kdsgrp1]导致的large tracefile的处理过程

文章目录 1.问题描叙2 查因过程2.1 查看磁盘空间状况2.2 检查表空间增长情况2.3 检查$ORACLE_BASE相关文件2.4查看trace file内容 3.处理过程3.1数据文件检查3.2 表及索引段检查 4.结论&#xff1a; 1.问题描叙 收到check_mk告警&#xff0c;约在15:17左右硬盘空间消耗暴增 …

在Ubuntu Linux系统上安装RabbitMQ服务并解决公网远程访问问题

文章目录 前言1.安装erlang 语言2.安装rabbitMQ3. 内网穿透3.1 安装cpolar内网穿透(支持一键自动安装脚本)3.2 创建HTTP隧道 4. 公网远程连接5.固定公网TCP地址5.1 保留一个固定的公网TCP端口地址5.2 配置固定公网TCP端口地址 前言 RabbitMQ是一个在 AMQP(高级消息队列协议)基…

数据资产入表 先行者数据宝在做什么?

2023年8月21日&#xff0c;财政部印发了《企业数据资源相关会计处理暂行规定》&#xff0c;规定数据将作为资产进入企业资产负债表&#xff0c;具体是将数据确认为企业资产负债表中“资产”一项&#xff0c;在财务报表中体现其真实价值与业务贡献。入表意味着数据完成了从自然资…

ChatGPT 实现动态地图可视化展示

地图可视化分析有许多优点和好处: 1.直观理解:地图可视化使得复杂的数据更易于理解。通过地图可视化,人们可以直观地看到地理位置、地区之间的关系以及空间分布的模式。 2.提高决策效率:地图可视化可以帮助决策者快速理解和解释数据,从而提高决策效率。 3.高效的数据整…

streamlit--构建对话式应用程序

聊天元素 st.chat_message st.chat_input 构建镜像回复输入内容的机器人 使用流式传输构建简单的聊天机器人 构建一个类似ChatGPT的应用程序 参考资料 streamlit-构建对话式应用程序