【牛客网】BC146 添加逗号

一.题目描述

牛客网题目链接:添加逗号_牛客题霸_牛客网

描述:

对于一个较大的整数 N(1<=N<=2,000,000,000)

比如 980364535,我们常常需要一位一位数这个数字是几位数,但是如果在这 个数字每三位加一个逗号,它会变得更加易于朗读。

因此,这个数字加上逗号成如下的模样:980,364,535请写一个程序帮她完成这件事情.

输入描述:

一行一个整数 N.

输出描述:

一行一个字符串表示添加完逗号的结果.

示例1:

输入:980364535

输出:980,364,535

备注:

1<=n<=2,000,000,000

题目详情:


 二.题目思路

首先,我们可以将整形N通过每次%10的方式将其末位数字存放在字符数组arr中.

其次,可以每存三个数字,就往数组里存放一个' , '.

最后,将数组逆序打印即可得到我们想要的效果.

思路图解如下:

要注意的是,在编写好程序后我们可能会遇到如下问题:

加入'计数器k'后代码及详细解析如下:

#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
int main()
{int N = 0;//创建整形变量n,用来接收题目输入数据scanf("%d", &N);//用scanf接收数据char arr[14] = { 0 };//创建字符数组,存储从整形上剥下来的数据int i = 0;//用来记录数组录入的次序int k = 0;//用来随第15行的i++同步调整,以便第13行的if语句可以正常判断while (N){if (i != 0 && i % 3 == k)//i!=0防止录入最后一个数字时给其后面加','{arr[i++] = ',';k++;}arr[i++] = N % 10 + '0';//将N的末尾剥下来放入数组arr中N /= 10;//剥完后舍去末位数字}i--;//上述循环中i最后会多加一次,不减去的话,后续打印会造成数组越界访问for (; i >= 0; i--)//倒序进行循环,即从i->0{printf("%c", arr[i]);//打印数组下标为i的字符}return 0;
}

三.完整解题代码

根据上述思路,本题解题代码如下:

#define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h>
int main()
{int n=0;scanf("%d",&n);char arr[14]={0};int i=0;int k=0;while(n){if(i!=0&&i%3==k){arr[i++]=',';k++;}arr[i++]=n%10+'0';n/=10;}i--;for(;i>=0;i--){printf("%c",arr[i]);}return 0;
}

 拷贝到牛客网测试运行:

成功通过:

 


今日感悟:不做不必要的担忧,不做遥远的规划,从来没有所谓既定轨道能如约丝毫不差的驶向终点.

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

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

相关文章

linux查看进程对应的线程(数)

首先&#xff0c;top或ps查看进程列表&#xff0c;确定要查看的进程pid&#xff0c;如下面40698 查看进程的线程情况 查看进程&#xff1a;top -p 40698 查看线程&#xff1a;top -p 40698 -d 3 -H 其中-d是刷新频率 可看到此进程共211个线程&#xff0c;运行中的是211个。…

虹科案例 | Zuellig Pharma和ELPRO通过符合GDP标准的温度监测和高效的温度数据管理为未来发展奠定基础

在本案例研究中&#xff0c;您将了解Zuellig Pharma 实施了温度监测解决方案&#xff0c;以一致的数据结构获取各国和各种运输方式的数据; 通过将温度数据上传到其数据库管理系统&#xff0c;显著提高了其效率; 并建立了为未来管理决策提供数据增值使用的基础。 项目合作伙伴 …

使用终端MobaXterm连接Centos

1. 下载MobaXterm 官网&#xff1a; https://mobaxterm.mobatek.net/download.html 2. MobaXterm连接Linux 1 、查看刚才安装的 Linux 的 IP 地址 2、连接 3. Linux自带了JRE 由于javac指令不能运行&#xff0c;所以Linux只自带了JRE&#xff01;&#xff01;&#xff01;

Vue 2 组件间的通信方式总结

引言 组件间的关系有父子关系、兄弟关系、祖孙关系和远亲关系。 不同的关系间&#xff0c;组件的通信有不同的方式。 一、prop 和 $emit prop向下传递&#xff0c;emit向上传递。 父组件使用 prop 向子组件传递信息。 ParentComponent.vue <template><div><…

2023-09-17力扣每日一题

链接&#xff1a; 213. 打家劫舍 II 题意 n个数字围成一圈&#xff0c;禁止取相邻&#xff0c;求能取到的最大值 解&#xff1a; 经典DP特判/一丢丢思维 可以开个bool判断第一个取没取&#xff0c;然后判断最后一个&#xff0c;同样&#xff0c;再倒着做一遍即可 思维&a…

记录Linux部署人脸修复GFPGAN项目Docker Python 使用

记录Linux 服务器使用人脸修复GFPGAN 项目 1:阿里云安装docker,用docker 是隔离环境,Python环境还真是麻烦… https://help.aliyun.com/zh/ecs/use-cases/deploy-and-use-docker-on-alibaba-cloud-linux-2-instances 2:关于docker 镜像,想找个好的镜像也是很难,百度吧,很多Li…

VSCODE 使用技巧

vscode批量去掉代码中空行的方法 1、在vscode中使用ctrl f组合快捷键打开替换窗口. 2、输入下面的正则表达式 ^\s*(?\r?$)\n https://mp.weixin.qq.com/s/ZKV2sZWszxBLNTNLEWhsng 你的代码够安全吗&#xff1f;推荐5个VS Code代码安全插件 VSCode&#xff1a;人生苦短&…

C++项目实战——基于多设计模式下的同步异步日志系统-⑤-实用工具类设计

文章目录 专栏导读获取系统时间time介绍 getTime函数设计判断文件是否存在stat介绍exists函数设计 获取文件所在路径find_last_of介绍path函数设计 创建文件所在目录mkdir介绍find_first_of介绍函数createDirectory设计 实用工具类整理 专栏导读 &#x1f338;作者简介&#xf…

VS code 下 makefile 【缺少分隔符 停下来】 报错解决方法

首先来看报错的makefile源码 再来看报错的信息&#xff1a; 第5行缺少分隔符&#xff0c;其实不止是第5行&#xff0c;只要是前面需要加tab留白的行都会报这个错误&#xff0c;比如说第7行第11行 编译的时候&#xff0c;前面的留白必须是按tab键生成的 但是&#xff01;&…

【JavaSE笔记】抽象类与接口

一、抽象类 1、概念 在面向对象的概念中&#xff0c;所有的对象都是通过类来描绘的&#xff0c;但是反过来&#xff0c;并不是所有的类都是用来描绘对象的&#xff0c;如果一个类中没有包含足够的信息来描绘一个具体的对象&#xff0c;这样的类就是抽象类。 package demo2…

DM@数理逻辑@命题公式及其赋值@真值表@公式分类

文章目录 abstract命题公式及其赋值命题常项命题变项 命题公式合式公式(命题公式)限定基本联结词的合适公式的定义合式公式中的0和1子公式 **公式的层次定义**分层加括号 命题公式的赋值和解释成真赋值成假赋值公式的书写规范括号的省略 真值表赋值方法数量构造真值表 公式分类…

Json-Jackson和FastJson

狂神&#xff1a; 测试Jackson 纯Java解决日期格式化 设置ObjectMapper FastJson&#xff1a; 知乎&#xff1a;Jackson使用指南 1、常见配置 方式一&#xff1a;yml配置 spring.jackson.date-format指定日期格式&#xff0c;比如yyyy-MM-dd HH:mm:ss&#xff0c;或者具体的…

深入理解Windows句柄

引言 我们首先需要了解在windows内核中&#xff0c;为了方便管理一些相关的数据结构&#xff0c;Windows统一把它们称之为对象。在Windows内核代码中大量代码都是用C语言编写的。而我们知道在C语言中&#xff0c;并没有纯粹的面向对象&#xff0c;也没有类这一说。因此我们可以…

ArmSoM-W3之RK3588 Debian11详解

1. 简介 RK3588从入门到精通Debian 是⼀种完全⾃由开放并⼴泛⽤于各种设备的 Linux 操作系统。Rockchip在官⽅Debian发⾏版的基础上构建和适配了相关硬件功能 2. 环境介绍 硬件环境&#xff1a; ArmSoM-W3 RK3588开发板 软件版本&#xff1a; OS&#xff1a;ArmSoM-W3 Debia…

WPF 如何让xmal的属性换行显示 格式化

WPF 如何让UI的xmal 按照下面的格式化显示 首先格式化显示在VS中的快捷键是 Ctrl &#xff2b;D 然后需要配置&#xff0c;工具 选项 -文本编辑器 -xmal -格式化-间距 更改成如下就可以了

[2023.09.12]: Yew应用开发的第一个hook--use_state

Yew的SSR模式推荐使用function_component组件&#xff0c;并且在function_component中使用hooks。其中&#xff0c;我使用到的第一个hook是use_state。use_state的设计意图与React中的useState非常相似&#xff0c;都是为了保存并修改当前的状态。然而&#xff0c;由于Yew是用R…

RK3588 点亮imx586摄像头

一.硬件原理图 mipi摄像头硬件确认点&#xff1a; 1.供电&#xff1a;5V&#xff0c;2.8V&#xff0c;1.2V&#xff0c;1.8V&#xff0c;reset脚&#xff08;硬拉3.3&#xff0c;上电的时候从低到高&#xff09;&#xff0c;pwron脚外接 3.3V。 2,时钟&#xff1a;MCLKOUT是2…

Python正则表达式(re)

正则表达式&#xff0c;又称规则表达式,&#xff08;Regular Expression&#xff0c;在代码中常简写为regex、regexp或RE&#xff09;&#xff0c;是一种文本模式&#xff0c;包括普通字符&#xff08;例如&#xff0c;a 到 z 之间的字母&#xff09;和特殊字符&#xff08;称为…

已知平面内三点,求其平面的法向量

三点平面法向量 设三点坐标为A(x1,y1,z1),B(x2,y2,z2),C(x3,y3,z3) 向量AB(x2-x1,y2-y1,z2-z1),AC(x3-x1,y3-y1,z3-z1) AB、AC所在平面的法向量即ABAC(a,b,c),其中&#xff1a; a(y2-y1)(z3-z1)-(z2-z1)(y3-y1) b(z2-z1)(x3-x1)-(z3-z1)(x2-x1) c(x2-x1)(y3-y1)-(x3-x1)(y2-y1)…

JavaScript-DOM实战案例

一、window定时器 1.window定时器方法 有时我们并不想立即执行一个函数&#xff0c;而是等待特定一段时间之后再执行&#xff0c;我们称之为“计划调用&#xff08;scheduling a call&#xff09;”。 目前有两种方式可以实现&#xff1a; setTimeout 允许我们将函数推迟到一…