news 2026/10/30 21:20:10

添加逗号问题

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
添加逗号问题

1.现在需要将其转换为千分位格式,即从整数最低位开始,每三位数字插入一个英文逗号,以提高可读性。例如,对于123456789,转换后为 123,456,789。也就是说从后往前只要够三个字符就增加一个英文逗号,怎么才能从后往前数呢,这个是时候就需要逆序字符串,就可以得到从前往后面数三个数据 ,增加一个变量count用来计数,只要能被三整除就将这个位置后面的所有元素都像后面挪动,然后将这个位置增加英文逗号,然后让指针跳过这个英文逗号继续像后面找,直到找到‘\0’,增添完成以后再将字符串逆序一下,打印出来就可以了,最坏的时间复杂度应该是O(n^2),每次到三个都要进去循环,效率不高。只是用了几个常量级的临时变量,空间复杂度是常量级

#define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<assert.h> void reverse(char* str)//逆序字符串 { assert(str);//断言一下因为后面会解引用,对空指针的解引用很危险 int len = strlen(str); char* left = str; char* right = str + len - 1; while (right>left)//两个指针分别向后面寻找 { char temp = *right; *right = *left; *left = temp; left++; right--; } } int main() { //输入一个字符串,然后将这个字符串逆序,逆序后从前向后遍历,找到三个就添加一个,其他是字符后移 char str[100] = { 0 }; scanf("%s", str); reverse(str);//先逆序 int count = 0; char* temp = str; while (*temp)//*为假说明已经到字符串末尾了 { if (count % 3 == 0&&count!=0) { int len = strlen(str);//每次进来都要重新计算因为添加进去的有英文逗号 char* rear = str+len;//再创建一个变量,字符从后面开始挪动 while (rear!=temp) { *rear = *(rear - 1);//减到temp,把temp空起来 rear--; } *temp = ',';//把英文逗号赋值过去 temp++;//跳过这个英文逗号 } count++;//计数 temp++;//当前字符的位置 } reverse(str); printf("%s",str); return 0; }

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/29 2:18:42

深入理解Golang并发模型与CSP理论

lang 在设计上另辟蹊径&#xff0c;其并发哲学的核心信条是&#xff1a;“不要通过共享内存来通信&#xff0c;而要通过通信来共享内存。” (Do not communicate by sharing memory; instead, share memory by communicating.) 这一理念源自通信顺序进程&#xff08;Communicat…

作者头像 李华
网站建设 2026/10/30 16:35:43

48、Linux 命令操作与格式化输出全解析

Linux 命令操作与格式化输出全解析 在 Linux 系统的操作中,有许多实用的命令和操作符,它们能帮助我们更高效地完成各种任务。下面将详细介绍测试操作符、I/O 重定向、 echo 选项与转义序列、 printf 命令以及日期时间格式化等内容。 测试操作符 测试操作符常用于 tes…

作者头像 李华
网站建设 2026/10/30 5:50:00

43、高效Shell操作技巧与实践

高效Shell操作技巧与实践 1. 数据处理与日志记录 在处理数据时,我们经常需要将合适的数据通过管道输入到 while read 循环中,并根据需要使用 printf 进行输出。例如,要打印主机名 $HOSTNAME ,后面跟一个制表符,再跟上 last 命令输出的非空行,可以使用以下命令:…

作者头像 李华
网站建设 2026/10/30 7:04:38

测试技术创新:驱动软件质量的新引擎‌

在软件行业高速发展的今天&#xff0c;测试技术已从传统的手工检查演变为智能、自动化的核心驱动力。随着人工智能、云原生和DevOps实践的普及&#xff0c;测试创新正重塑质量保障体系&#xff0c;帮助从业者应对快速迭代、复杂系统的挑战。本文结合当前行业实践&#xff0c;探…

作者头像 李华
网站建设 2026/10/30 13:22:39

中科米堆CASAIM自动化三维检测-0.02mm计量级精度产品尺寸快速检测

在精密零件加工过程中&#xff0c;准确测量产品尺寸对于保障生产流畅性和产品质量至关重要。过去常用的检测方式主要依靠人工完成&#xff0c;操作人员使用卡尺、千分尺等工具进行手动测量。这种方法不仅测量速度慢&#xff0c;而且不同人员操作时容易产生测量误差&#xff0c;…

作者头像 李华
网站建设 2026/10/30 15:37:25

基于三菱PLC的智能温室大棚控制系统设计与实践:塑料大棚的环保控制技术解析

基于三菱PLC的温室大棚控制系统的设计塑料大棚温室控制系统设计 塑料大棚种菜最怕啥&#xff1f;半夜两点突然降温没人管&#xff0c;大中午太阳太毒忘记开遮阳帘。去年老王就因为这两件事赔进去三亩地的草莓苗&#xff0c;现在他大棚里装了个会自己思考的钢铁管家——基于三菱…

作者头像 李华