当前位置: 首页 > news >正文

C语言习题~day38

  1.添加逗号

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

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

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

输入描述:

一行一个整数 N

输出描述:

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

示例1 输入:980364535

输出: 980,364,535

思路:

可以从右往左每隔三位添加一个逗号。通过不断取整和取余数的操作来逐步处理数字。具体步骤如下:

1. 将输入的整数转换为字符串。

2. 从右往左遍历字符串,每三位一组,遇到一组就添加一个逗号,同时更新起始位置继续往左处理。

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

 2.删除公共字符

输入两个字符串,从第一字符串中删除第二个字符串中所有的字符。例如,输入”They are students.”和”aeiou”,则删除之后的第一个字符串变成”Thy r stdnts.”

输入描述:

每个测试输入包含2个字符串

输出描述:

输出删除后的字符串

输入:

They are students. 
删除:aeiou

输出:

Thy r stdnts.

思路:1. 遍历第二个字符串,将其中的每个字符存储到一个集合(可以用一个简单的标记数组来实现)中。

2. 遍历第一个字符串,对于每个字符,如果它不在集合中,就将其输出。

 #include <stdio.h>int BI(char ch,char arr2[]){int j=0;while(arr2[j]){if(ch==arr2[j]){return 0;}j++;}return 1;}int main(){char arr1[101];char arr2[101];gets(arr1);gets(arr2);int i=0;while(arr1[i]){if(BI(arr1[i],arr2)!=0){printf("%c",arr1[i]);}i++;}return 0;}


http://www.mrgr.cn/news/16626.html

相关文章:

  • python实战三-提取Word数据到Excel
  • opencv之图像平滑处理
  • 如何将线程绑定到特定的CPU核
  • PMP错题总结(十六)
  • ElementPlus下拉框实现可选择,可输入
  • Llamaindex RAG实践
  • 世界上装机量最大的数据库SQLite,低调但不小众
  • 【代码随想录训练营第42期 Day45打卡 - 编辑距离问题 - LeetCode 115.不同的子序列 583. 两个字符串的删除操作 72. 编辑距离
  • unbuntu 安装
  • Java多进程调用dll程序和exe程序
  • python 天气与股票的关系--第2部分,清洗数据
  • 基于yolov8的人头计数检测系统python源码+onnx模型+评估指标曲线+精美GUI界面
  • 求解组合优化问题的具有递归特征的无监督图神经网络
  • 【QNX+Android虚拟化方案】117 - QNX 以太网 iperf3 上行带宽吞吐量低的问题分析优化
  • 操作符详细解析
  • YOLOv9改进策略【模型轻量化】| ShufflenetV2,通过通道划分构建高效网络
  • 数学建模--K-Means聚类分析
  • LMDeploy 量化部署实践闯关任务
  • Lagent 自定义 Agent 智能体
  • 从智慧城市与代理IP看未来科技与个人隐私间的微妙平衡