蓝桥 去注释 (字符处理)

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

题目描述
给你一段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;
}
相关文章
|
网络协议 Linux 安全
高负载web服务器linux内核参数调整
参考:http://blog.csdn.net/lizhitao/article/details/9323137 Linux系统中sysctl参数优化(TCP高级选项设置) 服务器在高并发时,会创建大量连接,这就需要设置TCP相关参数来提供服务器性能。
2308 1
|
2天前
|
人工智能 自然语言处理 安全
阿里云AI数智鉴密:AI 生成内容如何拿到一张"防篡改的身份证"
隐形水印 + C2PA签名:让AI生成内容“持证上岗”。
1096 0
|
11天前
|
人工智能 自然语言处理 安全
阿里云千问办公、Qoder Teams、Qoder CN区别与选择指南:模型能力、适用场景与最新活动参考
本文聚焦阿里云2026年推出的三款自研AI办公产品,清晰拆解千问办公、Qoder Teams、Qoder CN的差异化定位与能力边界:千问办公主打职场全场景提效,支持自然语言指令一键完成PPT生成、数据分析等高频办公任务;Qoder Teams面向程序员团队,深度整合AI代码生成、团队协同与企业知识库能力;Qoder CN则专为金融、政务等强合规场景打造,实现数据不出境与VPC私有化部署。文章同步给出分场景选型指南与最新活动定价,帮助不同类型的企业按需组合产品,实现业务岗、研发岗与强合规场景的AI能力全覆盖。
3665 3
阿里云千问办公、Qoder Teams、Qoder CN区别与选择指南:模型能力、适用场景与最新活动参考
|
23天前
|
人工智能 缓存 前端开发
DeepSeek Harness 首发实测 + 入门教程,夯爆了!梁神我错了
DeepSeek Harness + DeepSeek V4 Pro 项目实战保姆级教程!手把手带你从零安装开源 AI 编程工具,开发架构图、知识讲解网站、3D 网页游戏、全栈 AI 应用 4 个项目,覆盖运行模式选择、插件安装与开发,看看能不能对标 Claude。
13412 93
DeepSeek Harness 首发实测 + 入门教程,夯爆了!梁神我错了
|
16天前
|
Web App开发 人工智能 API
16 个超火的 DeepSeek Harness 插件,大肥鱼已经落后 N 个版本了。。。
DeepSeek Harness 精选插件推荐合集,从图片识别、浏览器操控、多 Agent 协作到手机远程控制,一口气带你看完 DSH 社区热门的十几个插件,覆盖技能扩展、UI 界面增强、整活玩法三大类,让你的鲸鱼变得更强。
1921 5
|
9天前
|
人工智能 监控 测试技术
Qwen3.8-Flash 来了,100万上下文、Agent、Coding 都加强了
8月26日,通义千问发布Qwen3.8-Flash-Next:125B参数、每Token仅激活6B,原生支持26万Token、可扩展至100万上下文;Coding、Agent与工具调用能力显著增强,面向真实软件工程任务,推动大模型从“回答问题”迈向“完成工作”。
|
12天前
|
人工智能 Linux iOS开发
Ollama使用教程:Ollama官网下载、Ollama本地部署大模型(2026最新)
Ollama 是一款免费开源的本地大模型运行工具,支持在 Windows/macOS/Linux 上离线运行 Qwen、DeepSeek、Llama 等主流开源模型,数据不出本机、隐私安全。提供 OpenAI 兼容 API,命令行一键拉取/运行/管理模型,无需联网,无调用限制,是开发者与 AI 爱好者部署本地 AI 助手的理想选择。(239 字)

热门文章

最新文章