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

PTA L1-058 6翻了(详解)

前言:内容包括:题目,代码实现,大致思路,代码解读

题目:

“666”是一种网络用语,大概是表示某人很厉害、我们很佩服的意思。最近又衍生出另一个数字“9”,意思是“6翻了”,实在太厉害的意思。如果你以为这就是厉害的最高境界,那就错啦 —— 目前的最高境界是数字“27”,因为这是 3 个 “9”!

本题就请你编写程序,将那些过时的、只会用一连串“6666……6”表达仰慕的句子,翻译成最新的高级表达。

输入格式:

输入在一行中给出一句话,即一个非空字符串,由不超过 1000 个英文字母、数字和空格组成,以回车结束。

输出格式:

从左到右扫描输入的句子:如果句子中有超过 3 个连续的 6,则将这串连续的 6 替换成 9;但如果有超过 9 个连续的 6,则将这串连续的 6 替换成 27。其他内容不受影响,原样输出。

输入样例:

it is so 666 really 6666 what else can I say 6666666666

输出样例:

it is so 666 really 9 what else can I say 27

 代码实现:

#include<stdio.h>
int main()
{char arr[1001] = { 0 };gets(arr);int len = strlen(arr);int count = 0;int i = 0;for (i = 0; i <= len; i++){if (arr[i] == '6'){count++;}else{if (count > 9){printf("27");}else if (count > 3){printf("9");}else{int j = 0;for(j=0;j<count;j++){printf("6");}}count = 0;printf("%c", arr[i]);}}return 0;
}

大致思路:

1 将字符串存入字符数组中,遍历整个字符串包括字符串的结束标志'\0'

2 若是当前字符是字符6则计数一次,若是当前字符不是字符6,则需要打印出此字符

    因为6是连续的,故而计数6的个数的结束标志是:当前遍历到的某个元素不是字符6

    因此当连续的几个6排在一串字符的末尾时,我们需要遍历到'\0',才能判定6的连续结束

3  在打印此字符之前,我们需要先打印出:27 or 9 或者连续的6(个数不大于3个)

    一旦打印出:27 or 9 或者连续的6(个数不大于3个)后需要将统计的6个数清零

代码解读:

part 1

    char arr[1001] = { 0 };gets(arr);int len = strlen(arr);int count = 0;

需要用gets读取带有空格的字符串

求出字符串的长度len,此时len就是字符串的结束标志'\0'的下标

part 2:遍历字符串,统计6的个数

    int i = 0;for (i = 0; i <= len; i++){if (arr[i] == '6'){count++;}else{if (count > 9){printf("27");}else if (count > 3){printf("9");}else{int j = 0;for(j=0;j<count;j++){printf("6");}}count = 0;printf("%c", arr[i]);}}
http://www.lryc.cn/news/23048.html

相关文章:

  • 【Origin科研绘图】如何快速绘制一个折线图 ||【前端特效】爱心篇 之 幸好有你 || 泰坦尼克号——乘客生存与否 预测 || PyCharm使用介绍
  • 一文解读电压放大器(电压放大器原理)
  • 线上监控诊断神器arthas
  • @Import注解的原理
  • 平台总线开发(id和设备树匹配)
  • TS泛型,原来就这?
  • 关于算法学习和刷题的建议
  • 2023年“网络安全”赛项浙江省金华市选拔赛 任务书
  • http协议简介
  • CSDN 第三十一期竞赛题解
  • EM_ASM系列宏定义(emscripten)
  • Batchnorm和Layernorm的区别
  • 高级前端面试题汇总
  • HTML#5表单标签
  • ONNX可视化与编辑工具
  • Verilog 学习第五节(串口接收部分)
  • AIX系统常见漏洞修复(exec、rlogin、rsh、ftp、telnet远端服务运行中)
  • IEEE SLT 2022论文丨如何利用x-vectors提升语音鉴伪系统性能?
  • 设计模式(十三)----结构型模式之桥接模式
  • 倾向得分匹配案例分析
  • 基于SpringCloud的可靠消息最终一致性04:项目基础代码
  • 操作系统权限提升(十八)之Linux提权-内核提权
  • 华为OD机试真题Java实现【快递运输】真题+解题思路+代码(20222023
  • java面试题-JVM问题排查
  • 市场上有很多低代码开发平台,不懂编程的人可以用哪些?
  • Tina_Linux打包流程说明指南_new
  • JVM面试题
  • @FeignClient注解
  • 一文搞懂如何在 React 中使用 防抖(Debounce)和 节流(Throttle)
  • Airbyte API