栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

1138 清除行注释(宁波大学oj)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

1138 清除行注释(宁波大学oj)

时间限制 : 2000/1000 MS(Java/Others) | 内存限制 :65536/32768 KB(Java/Others)

提交数 : 7779 | 通过数 : 2619

题目描述
给出一个C++源程序代码,请将其中的注释去掉。已知注释全部采用行注释的形式,即用双斜杠开头的字符串,后面的内容全部作为注释内容(包含双斜杠)。

输入要求
输入若干行源程序代码(含行注释),以文件控制结束。

输出要求
输出去掉注释后的代码,其余内容不变。

输入样例
//======================
// simplest program
//======================
#include
using namespace std;
//----------------------
int main(){
cout<<”hello world!n”;
}//---------------------

输出样例
#include
using namespace std;

int main(){
cout<<”hello world!n”;
}

提示
原题目把注释清掉后还要把由此产生的空行删掉,题目复杂些。现在把测试数据改了下,真的是“其余内容不变”。

在每日学习中选择G++语言提交,因为gets函数可能在c中提交不了,这个函数在旧的编译器可以用,新的用不了

#include
int main()
{
 char a[1006];
 for(int i=0;gets(a);i++)
 {//对输入的每一串字符串进行判断,一个字符串占一行,
 //这里的gets函数输入的字符串结尾隐含着'',回车的意思 
 //这也是外面这个for循环跳出循环语句的出口 
  //每一行的开始由gets输入一串字符
  
  //(非常重要) 即for(a;b;c) ,当b==''的时候,就跳出这个for循环 (非常重要) (非常重要) (非常重要) (非常重要) 
  
  for(int j=0;a[j]!='';j++)//这个for是对每一串输入的字符串一个个字符的遍历 
  {
   if(a[j]=='/'&&a[j+1]=='/')
   {//如果遇见相邻两个字符出现斜杠,就跳出此循环,开始下一行(字符串)判断。 
    break;
   }
   else
   {
    printf("%c",a[j]);//每个字符依次输出 
   }
  }
  printf("n");
 }
 return 0;
}

 

 还有以下这个是借鉴了另外一个同学的代码

可以借鉴学习参考一下

#include
#include
void schzs(char a[]){
 int n,i;
 n=strlen(a);
 for(i=0;a[i];i++){
  if(a[i]=='/'&&a[i+1]=='/'){
   break;
  }else{
   printf("%c",a[i]);
  }
 }printf("n");
}
int main(){
 char a[1000];
 while(gets(a)){
  schzs(a);
 }
 return 0;
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/732036.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号