【牛客网】BC146 添加逗号

news2024/10/7 12:17:38

一.题目描述

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

描述:

对于一个较大的整数 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.coloradmin.cn/o/1017597.html

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

相关文章

指针扩展之——函数指针

前言&#xff1a;小伙伴们好久不见&#xff0c;本篇文章我们继续讲解一个指针的扩展——函数指针。 一.何为函数指针 我们通过对指针的学习已经知道&#xff0c;凡是叫什么什么指针的&#xff0c;都是指指向这个东西的指针。 所以所谓函数指针&#xff0c;也就是指向函数的指…

001 linux 导学

前言 本文建立在您已经安装好linux环境后&#xff0c;本文会向您介绍Shell的一些常用指令 什么是linux Linux是一种自由和开放源代码的类UNIX操作系统&#xff0c;该操作系统的内核由林纳斯托瓦兹在1991年首次发 布&#xff0c;之后&#xff0c;在加上用户空间的应用程序之后…

TypeScript 从入门到进阶之基础篇(一) ts类型篇

系列文章目录 文章目录 系列文章目录前言一、安装必要软件二、TypeScript 基础类型1.基础类型之 数字类型 number2.基础类型之 字符串类型 string3.基础类型之 布尔类型 boolean4.基础类型之 空值类型 void5.基础类型之 null 、undefined类型6.基础类型之 任意类型 any &#x…

Dell戴尔笔记本电脑灵越系列Inspiron 5598原厂Windows10系统2004

戴尔灵越原装出厂系统自带显卡、声卡、蓝牙、网卡等所有驱动、出厂主题壁纸、系统属性戴尔专属LOGO标志、Office办公软件、MyDell等预装程序 链接&#xff1a;https://pan.baidu.com/s/1VYUa7u0-Az4c9bOnWV9GZQ?pwd550m 提取码&#xff1a;550m

常见的查找算法以及分块搜索算法的简明教程

顺序查找 最基本的查找算法 举例 // 顺序查找public static int searchSequence(int[] arr, int target) {int i 0;for (int arr2 : arr) {if (arr2 target) {return i;}i;}return -1;}二分查找 [! warning] 值得注意的是这个二分查找算法只对无重复元素的递增或递减的数组有…

常用的辅助类(必会)

1.CountDownLatch package com.kuang.add;import java.util.concurrent.CountDownLatch;//计数器 减法 public class CountDownLatchDemo {public static void main(String[] args) throws InterruptedException {//总数是6&#xff0c;必须要执行任务的时候&#xff0c;再使用…

ARM接口编程—ADC(exynos 4412平台)

ADC简介 ADC ADC(Analog to Digital Converter)即模数转换器&#xff0c;指一个能将模拟信号转化为数字信号的电子元件 ADC主要参数 分辨率 ADC的分辨率一般以输出二进制数的位数来表示&#xff0c;当最大输入电压一定时&#xff0c;位数越高&#xff0c;分辨率越高&#xf…

全国职业技能大赛云计算--高职组赛题卷①(私有云)

全国职业技能大赛云计算--高职组赛题卷①&#xff08;私有云&#xff09; 第一场次题目&#xff1a;OpenStack平台部署与运维任务1 基础运维任务&#xff08;5分&#xff09;任务2 OpenStack搭建任务&#xff08;15分&#xff09;任务3 OpenStack云平台运维&#xff08;15分&am…

LC142. 环形链表 II

题目大意 给你一个链表&#xff0c;要求判断是否有环&#xff0c;若有环&#xff0c;找出环的入口结点。 142. 环形链表 II 判断是否有环 判环比较简单&#xff0c;用一个一次走一个结点的快指针&#xff0c;和一个一次走一个结点的慢指针同时遍历链表&#xff0c;若两指针相…

第一个Three的demo实例

Three的第一个Demo 前言效果图1、导入threejs2、创建场景3、创建相机4、创建渲染器5、创建几何图形6、创建材质7、创建网格8、将网格添加到场景中9、设置相机的位置10、渲染11、整体代码 前言 创建第一个demo实例—旋转的方格 效果图 1、导入threejs import * as THREE from…

漏洞赏金猎人开源工具集合,自动辅助渗透测试工具

漏洞赏金猎人开源工具集合&#xff0c;自动辅助渗透测试工具。 公开收集的一个国外白帽子用的比较多的开源工具列表 这是一款半自动渗透测试的工具&#xff0c;当前版本多用于渗透测试的信息搜集&#xff0c;每周保持更新&#xff0c;最终的目标是类似于linpeas的全自动渗透测…

直接插入排序、希尔排序详解。及性能比较

直接插入排序、希尔排序详解。及性能比较 一、 直接插入排序1.1 插入排序原理1.2 代码实现1.3 直接插入排序特点总结 二、希尔排序 ( 缩小增量排序 )2.1 希尔排序原理2.2 代码实现2.3 希尔排序特点总结 三、直接插入排序和希尔排序性能大比拼 !!!3.1 如何对比性能&#xff1f;准…

4款视频号数据分析平台!

很多人在做视频号的时候就会有创作参考的需求&#xff0c;那么你们知道视频号中有哪些数据平台&#xff1f;今天就和大家来分享一下 接下来就总结一下视频号数据平台有哪些&#xff1f;排名不分前后。 1&#xff1a;视频号助手&#xff08;channels.weixin.qq.com&#xff09…

旋转的正方体-第15届蓝桥杯第一次STEMA测评Scratch真题精选

[导读]&#xff1a;超平老师的《Scratch蓝桥杯真题解析100讲》已经全部完成&#xff0c;后续会不定期解读蓝桥杯真题&#xff0c;这是Scratch蓝桥杯真题解析第151讲。 第15届蓝桥杯第1次STEMA测评已于2023年8月20日落下帷幕&#xff0c;编程题一共有6题&#xff0c;分别如下&a…

C 风格文件输入/输出---错误处理---(std::clearerr,std::feof,std::ferror,std::perror)

错误处理 清除错误 std::clearerr void clearerr( std::FILE* stream ); 重置给定文件流的错误标志和 EOF 指示器。 参数 stream-要重置错误标志的文件流 返回值 &#xff08;无&#xff09; 调用示例 #include <iostream> #include <cstdio>using names…

微服务保护-降级

个人名片&#xff1a; 博主&#xff1a;酒徒ᝰ. 个人简介&#xff1a;沉醉在酒中&#xff0c;借着一股酒劲&#xff0c;去拼搏一个未来。 本篇励志&#xff1a;三人行&#xff0c;必有我师焉。 本项目基于B站黑马程序员Java《SpringCloud微服务技术栈》&#xff0c;SpringCloud…

『C语言进阶』指针进阶(二)

&#x1f525;博客主页&#xff1a; 小羊失眠啦 &#x1f516;系列专栏&#xff1a; C语言 &#x1f325;️每日语录&#xff1a;上天是公平的&#xff0c;有付出就有收获 ❤️感谢大家点赞&#x1f44d;收藏⭐评论✍️ 前言 在上篇指针进阶中&#xff0c;我们对字符指针、指针…

计网 - 图解OSI 七层模型 和 TCP/IP 四层模型

文章目录 OSI 七层模型TCP/IP四层模型图解 OSI图解 TCP/IP小结 OSI 七层模型 OSI&#xff08;开放系统互联模型&#xff0c;Open Systems Interconnection Model&#xff09;是一个用于理解和描述计算机网络体系结构的标准化框架&#xff0c;由国际标准化组织&#xff08;ISO&…

基于Xml方式Bean的配置-beanName个别名配置

SpringBean配置详解 Bean的基础配置 例如前文涉及到的配置文件 <bean id"userService" class"com.example.Service.Impl.UserServiceImpl"/>此时存储到Spring容器&#xff08;singleObjects单例池&#xff09;中的beanName是userService&#xf…

【Java】IDEA 将 Java 项目打包成 Jar 包

在工件中添加 JAR 构建&#xff08;Build&#xff09;工件&#xff0c;JAR 包会生成在 out 目录下