【C语言】每日一题(添加逗号)

添加逗号,链接奉上
在这里插入图片描述

目录

  • 方法1:整体存入
    • 思路:
    • 代码实现:
  • 方法2:分段输出
    • 思路:
    • 代码实现:

方法1:整体存入

思路:

整体思路:

我们发现这个整数N对于最后1位是比较容易操作的,
故我们可以倒序存入一个字符数组,每隔3位在输入一个逗号
例如:
我们有1 2 3 4 5
我们在字符数组中倒序存入:5 4 3 ,2 1
最后倒序输出:12,345

代码实现:

int main()
{int n = 0;scanf("%d", &n);char arr[20];int i = 0;int count = 0;while (n){if (count != 0 && count % 3 == 0){arr[i++] = ',';count = 0;}arr[i++] = n % 10 + '0';//因为是字符数组,需要+‘0’,否则以字符形式输出时为特殊字符,输出不了count++;n /= 10;}for (i--; i >= 0; i--){printf("%c", arr[i]);}return 0;
}

方法2:分段输出

思路:

将数字每位倒序输入进整形数组,
输出时先判断最开始的前几位是否满足3位,以此考虑是否需要输出逗号
判断完后再3位输出一次逗号

代码实现:

int main()
{int n = 0;int tmp = 0;//防止找不到nscanf("%d", &n);tmp = n;int arr[20] = { 0 };int i = 0;while (tmp)//利用tmp操作{arr[i++] = tmp % 10;tmp /= 10;}tmp = n;//恢复tmpint first = 0;int count = 0;//用来维护firstfirst = i % 3;//3位一个逗号,第一个需要根据情况判断if (first != 0 && i > 3)//当满足3倍的位数时或是位数小于3时,不需要对第一个逗号特殊判断{for (i--; i >= 0; i--){printf("%d", arr[i]);count++;if (count == first){printf(",");break;}}}count = 0;for (i--; i >= 0; i--){printf("%d", arr[i]);count++;if (i != 0 && count % 3 == 0){printf(",");}}return 0;
}

欢迎讨论

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

会声会影2023官方破解版激活码

随着短视频、vlog等媒体形式的兴起,视频剪辑已经成为了热门技能。甚至有人说,不会修图可以,但不能不会剪视频。实际上,随着各种智能软件的发展,视频剪辑已经变得越来越简单。功能最全的2023新版,全新视差转…

Hadoop3教程(三十四):(生产调优篇)MapReduce生产经验汇总

文章目录 (164)MR跑得慢的原因(165)MR常用调优参数Map阶段Reduce阶段 (166)MR数据倾斜问题参考文献 (164)MR跑得慢的原因 MR程序执行效率的瓶颈,或者说当你觉得你的MR程…

《动手学深度学习 Pytorch版》 9.4 双向循环神经网络

之前的序列学习中假设的目标是在给定观测的情况下对下一个输出进行建模,然而也存在需要后文预测前文的情况。 9.4.1 隐马尔可夫模型中的动态规划 数学推导太复杂了,略。 9.4.2 双向模型 双向循环神经网络(bidirectional RNNs)…

解决windows10、windows11故障:Microsoft-Windows-Kernel-Processor-Power 事件ID:37

一、现象 windows系统日志中出现大量的“Microsoft-Windows-Kernel-Processor-Power”错误。 经过分析:原因是windows配置的【使用电池】默认值是5%,按5%计算出来的功率与CPU的最小功率不兼容,如:本机CPU最高功率是25W&#xff0…

flink中使用GenericWriteAheadSink的优缺点

背景 GenericWriteAheadSink是flink中提供的实现几乎精确一次输出的数据汇抽象类,本文就来看一下使用GenericWriteAheadSink的优缺点 GenericWriteAheadSink的优缺点 先看一下GenericWriteAheadSink的原理图 优点: 几乎可以精确一次的输出&#xf…

数据库MongoDB

MongoDB记录是一个文档,由一个字段和值对组成的数据结构,文档类似于JSON对象。 一个文档认为就是一个对象,字段的数据类型是字符型,值除了使用基本类型外,还可以包括其他文档,普通数组和文档数组。 一、…

FreeRTOS介绍 和 将FreeRTOS移植到STM32F103C8T6

一、FreeRTOS 介绍 什么是 FreeRTOS ? Free即免费的,RTOS的全称是Real time operating system,中文就是实时操作系统。 注意:RTOS不是指某一个确定的系统,而是指一类操作系统。比如:uc/OS,Fr…

[翻译]理解Postgres的IOPS:为什么数据即使都在内存,IOPS也非常重要

理解Postgres的IOPS:为什么数据即使都在内存,IOPS也非常重要 磁盘IOPS(每秒输入/输出操作数)是衡量磁盘系统性能的关键指标。代表每秒可以执行的读写操作数量。对于严重依赖于磁盘访问的PG来说,了解和优化磁盘IOPS对实…

虹科分享 | 赋能物流机器人:CANopen通信如何发挥重要作用?

现代物流领域迅速融入了技术进步,特别是随着自主机器人的兴起,这一趋势越发明显。确保这些机器人在复杂的仓库环境中精确运行的一个关键方面是CANopen通信协议。该协议集成了各种组件(电机、传感器、摄像头和先进的电池系统)&…

flask入门(四)前后端数据传输

文章目录 1、flask后端接收来自前端的数据1)如果前端提交的方法为POST2)如果前段提交的方法是GET 2、flask后端向前端传数据3、案例参考文献 1、flask后端接收来自前端的数据 1)如果前端提交的方法为POST 后端接收时的代码: xx…

C#使用PPT组件的CreateVideo方法生成视频

目录 需求 实现 CreateVideo方法 关键代码 CreateVideoStatus 其它 需求 我们在使用PowerPoint文档时,经常会使用其导出功能以创建视频,如下图: 手工操作下,在制作好PPT文件后,点击文件 -> 导出 -> 创建视…

云安全—分布式基础

0x00 前言 云必然是依赖于分布式技术来进行实现的,所以有必要学习和来了解分布式相关的内容 0x01 分布式计算 1.基本概述 分布式计算的定义:通过网络互联的计算机都具有一定的计算能力,他们之间互相传递数据,实现信息共享&…

互联网Java工程师面试题·Java 面试篇·第三弹

目录 39、JRE、JDK、JVM 及 JIT 之间有什么不同? 40、解释 Java 堆空间及 GC? 41、你能保证 GC 执行吗? 42、怎么获取 Java 程序使用的内存?堆使用的百分比? 43、Java 中堆和栈有什么区别? 44、“ab”…

记录阿里云服务器(Centos7.9)部署Thingsboard(3.4.2)遇到的一些问题

记录编译Thingsboard遇到的一些问题 部署了一个thingsboard项目到阿里云服务器上,历时十一天,遇到了很多困难,国内关于Thingsboard的资料确实很少,所以想着写一篇博客记录一下,或许能够给以后编译遇到类似问题的人一些…

基于nodejs+vue语言的酒店管理系统

目 录 摘 要 I ABSTRACT II 目 录 II 第1章 绪论 1 1.1背景及意义 1 1.2 国内外研究概况 1 1.3 研究的内容 1 第2章 相关技术 3 2.1 nodejs简介 4 2.2 express框架介绍 6 2.4 MySQL数据库 4 第3章 系统分析 5 3.1 需求分析 5 3.2 系统可行性分析 5 3.2.1技术可行性:…

JavaCV + FFmpeg 播放音视频

JavaCV FFmpeg 播放音视频 1、导入JavaCV库1.1 使用ffmpeg必要库1.2 简单FFmpeg命令 待续~~~~ FFmpeg documentation bytedeco/javacv - GitHub 1、导入JavaCV库 gradle下面这种会导入javacv-platform所有包,非常耗时:https://repo.maven.apache.org/…

安卓14通过“冻结”缓存应用程序腾出CPU,提高性能和内存效率

本月早些时候,我们听说更新到安卓14似乎提高了谷歌Pixel 7和Pixel 6的效率——提高了电池寿命,并在这个过程中减少了热量的产生。现在看来,安卓14的增效功能细节已经公布。 安卓侦探Mishaal Rahman在X(前身为Twitter)…

需要在 MySQL 服务器中监控的重要指标

MySQL是一个开源的关系数据库管理系统,它基于客户端-服务器模型运行,使用SQL作为其通信模式。它具有灵活性和可扩展性、高安全性、易用性以及无缝处理大型数据集的能力,由于其广泛的功能,MySQL 被用作数据库管理系统的一部分。 什…

c++踩坑点,类型转换

std::string转换到PVOID std::string转换到PVOID的方式如下 这样的话成功转换 “const char *” 类型的实参与 “WCHAR *” “const char *” 类型的实参与 “WCHAR *” 类型的形参不兼容 可以看到这种报错,可以直接强转如下: 但是在我们这里不适…

单目3D目标检测论文汇总

基于语义和几何约束的方法 1. Deep3DBox 3D Bounding Box Estimation Using Deep Learning and Geometry [CVPR2017] https://arxiv.org/pdf/1612.00496.pdfhttps://zhuanlan.zhihu.com/p/414275118 核心思想:通过利用2D bounding box与3D bounding box之间的几何约…