Mục tiêu
Sử dụng ngôn ngữ lập trình bạn chọn, viết chương trình ngắn nhất để loại bỏ nhận xét khỏi chuỗi đại diện cho chương trình C.
Đầu vào
Chuỗi có thể được coi là bất kỳ hình thức đầu vào nào, nhưng nó cũng có thể được coi là một biến.
Hướng dẫn
Hai loại ý kiến khác nhau sẽ bị xóa:
- bình luận đa dòng , bắt đầu bằng
/*
và kết thúc bằng*/
- nhận xét dòng đơn , bắt đầu bằng
//
và kết thúc bằng ngắt dòng theo kiểu Linux (LF,\n
)
Nhận xét trong chuỗi không được xóa. Đối với mục đích của thử thách này, bạn chỉ cần xem xét các "
chuỗi giới hạn. Đặc biệt, bạn có thể bỏ qua khả năng '
chữ ký tự giới hạn. Bạn cũng có thể bỏ qua các biểu tượng và tiếp tục dòng ( /\<LF>*...
).
Ví dụ
Đầu vào:
#include <stdio.h>
int main(int argc, char** argv)
{
// this comment will be removed
if (argc > 1) {
printf("Too many arguments.\n"); // this too will be removed
return 1;
}
printf("Please vist http://this.will.not.be.removed.com\n");
printf("/* This will stay */\n");
printf("\"/* This will stay too */\"\n");
printf("//and so will this\\");
// but not this
printf("just \"ano//ther\" test.");
return 0;
}
Đầu ra:
#include <stdio.h>
int main(int argc, char** argv)
{
if (argc > 1) {
printf("Too many arguments.\n");
return 1;
}
printf("Please vist http://this.will.not.be.removed.com\n");
printf("/* This will stay */\n");
printf("\"/* This will stay too */\"\n");
printf("//and so will this\\");
printf("just \"ano//ther\" test.");
return 0;
}
Đầu vào:
/*
this shall disappear
*/
#include <string>
int main(int argc, char** argv)
{
string foo = ""/*remove that!**/;
// Remove /* this
int butNotThis = 42;
// But do */ remove this
int bar = 4 /*remove this*/* 3; // but don't remove that 3. */
return 0;//just a comment
}/*end of the file has been reached.*/
Đầu ra:
#include <string>
int main(int argc, char** argv)
{
string foo = "";
int butNotThis = 42;
int bar = 4 * 3;
return 0;
}
// this comment will be removed
vừa biến mất. Bất kỳ quy tắc cho điều đó?
printf("\"/* This will stay too */\"\n");
xuất hiện trong nên trở thành mã?