蓝桥 去注释 (字符处理)

简介: 蓝桥 去注释 (字符处理)

题目描述
给你一段C++代码,将其中的注释去除后输出剩余的代码。
注释共有两种形式:

  1. 行注视:以//开头,一直作用到行尾为止。
    例子:
    int n;//n表示数据规模
    int a;
    去注释后:
    int n;
    int a;
    注意:保留行尾换行符
  2. 段注视:以/开头,到//结尾,中间部分都是注释,可以跨行。
    例子:
    int main() {
    /
    我是
    一段
    注释
    /
    }
    去注释后:
    int main() {

}
注意:由于在线评测系统(Online Judge)对网页显示文本作了格式化,一些空行会被删去,导致上面显示的删除后的结果不正确。删除注释后,剩余的代码应该是三行,两行代码之间有一个空 行。这是因为:在段注释结尾符的后面有一个换行符,它不在注释内,需要保留。

样例注意:和之前题目中的解释一样,在int n;之前有一个空行,被在线评测系统删掉,实际程序输出应该有该空行。
输入方法
此题按字符输入,即不断输入下一个字符,直到字符流结束。
char c;
C函数方法:
while ((c = getchar()) != EOF) {
处理..
}
C++流方法:
while ((c = cin.get()) != EOF) {
处理..
}

输入
一段C++程序代码

输出
去掉注释部分后的程序
样例输入
int main() {
/
我是
一段
注释
/
int n;//n表示数据规模
}
样例输出
int main() {

int n;
}

真的没有头绪,果然字符处理能在各种地方做陷阱
学长讲的很简单的思路是把所有字符全部读到一个字符数组里,这样换行符也会读进去,处理换行符的时候直接打出来就好了。
再就是容易忽略的一点是for循环结束后i会++,所以当处理注释时找到注释结束的位置,应该让i等于结束位置下一个的地方再-1

#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;

char str[400005];
int len=0;
int main(){
   
    freopen("./1.txt", "r", stdin);
    char c;
    while ((c=getchar())!=EOF){
   
        str[len++]=c;
    }
    for (int i=0; i<len; i++){
   
        if (i+1<len && str[i]=='/' && str[i+1]=='/'){
   
            int j;
            for (j=i+2; j<len; j++){
   
                if (str[j]=='\n'){
   
                    break;
                }
            }
            i=j-1;
        }else if (i+1<len && str[i]=='/' && str[i+1]=='*'){
   
            int j;
            for (j=i+2; j<len; j++){
   
                if (j+1<len && str[j]=='*' && str[j+1]=='/'){
   
                    j=j+2;
                    break;
                }
            }
            i=j-1;    //注意因为上层循环有i++,所以这里需要i=j的前一个 
        }else{
   
            printf("%c", str[i]);
        }
    }
    return 0;
}
相关文章
|
9天前
|
缓存 测试技术 API
Qwen 3.7 Plus 与 Max 实测:性价比与多模态能力差异解析(2026)
2026 年 6 月 1 日,阿里悄无声息地发布了 Qwen 3.7 Plus,距 Qwen 3.7 Max 上线刚好 11 天。同样的 1M 上下文,同样的 35 小时自治上限。但价格才是头条:Plus 是 0.40/M输入,Max是 2.50/M——便宜约 6 倍——并且还能看图、看视频。Vision Arena 上 Plus 已经排到 #16。所以这周真正值得讨论的问题不是”要不要为视觉能力买单”,而是”Max 凭什么用 6 倍价格换来 2 个百分点的 benchmark 领先”。
|
10天前
|
JavaScript 定位技术 API
CodeGraph 爆火:编程 Agent 需要的不是更多上下文,而是一张提前画好的代码地图
CodeGraph 是一款爆火的本地代码智能工具,通过 tree-sitter 解析 AST 构建结构化知识图谱(存于 SQLite),为编程 Agent 提前生成“代码地图”。它显著降低 Agent 在中大型项目中的探索成本——实测工具调用减少71%、Token 降57%、速度提升46%,支持19+语言及主流框架路由识别,完全离线、无需 API Key。
779 11
CodeGraph 爆火:编程 Agent 需要的不是更多上下文,而是一张提前画好的代码地图
|
10天前
|
人工智能 运维 JavaScript
阿里云Qoder CN(原通义灵码)全解析 产品形态、版本划分与技术适配说明
在AI辅助开发与智能办公工具持续普及的当下,阿里云旗下原通义灵码正式更名为Qoder CN,同时延伸出QoderWork CN、Qoder CN CLI、Qoder CN Mobile等多款配套产品,形成覆盖代码开发、日常办公、终端交互、移动端使用的完整工具矩阵。Qoder CN核心定位为AI智能编码助手,深度适配主流代码编辑器、集成开发环境以及终端场景;QoderWork CN则偏向桌面端综合办公辅助,二者面向不同使用场景,划分了多个版本档位,搭配差异化资源配额、功能权限与计费规则,同时兼容多款主流大模型。
808 7
|
10天前
|
存储 安全 Java
AgentScope Java 2.0:打造分布式、企业级智能体底座
AgentScope 2.0 面向分布式部署、稳定运行、权限安全等企业级需求全面升级,打造支持多租户隔离与长期稳定运行的企业级智能体底座。
|
10天前
|
JSON 缓存 安全
通过 CC Switch 本地路由让 Codex CLI 接入 DeepSeek 等第三方模型
CC Switch 通过本地路由(`127.0.0.1:15721`)实现协议转换:将 Codex 的 Responses API 请求自动映射为 DeepSeek 等厂商的 Chat Completions 接口,兼容流式响应与工具调用,无需修改 Codex 源码,安全隔离 API Key。(239字)
2167 4
通过 CC Switch 本地路由让 Codex CLI 接入 DeepSeek 等第三方模型
|
10天前
|
人工智能 弹性计算 安全
阿里云618活动时间、活动入口、优惠活动详细解读
2026年阿里云618创新加速季已全面开启,作为年度力度最大的云产品促销活动,本次大促覆盖轻量应用服务器、ECS云服务器、GPU云服务器、数据库、AI算力、安全服务、CDN等全品类产品,推出5亿元算力补贴、新用户限时秒杀、普惠满减、企业专享、免费试用、云大使返佣等多重福利,个人开发者、中小企业、AI团队均可享受专属低价。本文将系统梳理2026年阿里云618活动的完整时间节点、官方参与入口、各类优惠细则、使用规则、热门产品推荐及实操代码,帮助用户精准参与、高效省钱,以最低成本完成上云部署。
1842 6
|
10天前
|
数据采集 人工智能 前端开发
让 Coding Agent 从黑盒到透明:阿里云 Agent 观测审计数据采集实践
AI Agent 规模化落地带来执行黑盒、行为难追溯、成本难度量三大难题。阿里云基于 OTel 标准,面向 Coding Agent、个人通用助理和框架型 Agent,推出 LoongSuite Pilot、插件及探针等无侵入采集方案,让 Agent 实现可看见、可分析、可审计、可治理。
774 152

热门文章

最新文章