Quine——写一个程序,使其能输出自己的源代码。

挺有意思的一道题目。 

题目链接:Quine

思路

来自:https://blog.youkuaiyun.com/gmh77/article/details/95492154

  1. 用一个字符串数组记录下除去该字符串的代码。
  2. 然后依次输出,输出到字符串数组时就再输出一遍。注意要加上引号和逗号,为了避免影响语法,双引号应采用 ASCII 码形式。
  3. 最后把剩下的输出完。
  4. 最后的最后,完善一些细节就 OK 啦!

代码

#include <bits/stdc++.h>
using namespace std;
string a[100]={"#include <bits/stdc++.h>",
"using namespace std;",
"string a[100]={",
"int main(){",
"int n=12;",
"for(int i=0;i<=1;++i)cout<<a[i]<<endl;",
"cout<<a[2];",
"for(int i=0;i<n;++i) cout<<(char)34<<a[i]<<(char)34<<','<<endl;",
"cout<<'}'<<';'<<endl;",
"for(int i=3;i<n-1;++i)cout<<a[i]<<endl;",
"cout<<a[11];",
"return 0;}",
};
int main(){
int n=12;
for(int i=0;i<=1;++i)cout<<a[i]<<endl;
cout<<a[2];
for(int i=0;i<n;++i) cout<<(char)34<<a[i]<<(char)34<<','<<endl;
cout<<'}'<<';'<<endl;
for(int i=3;i<n-1;++i)cout<<a[i]<<endl;
cout<<a[11];
return 0;}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Washington2022

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值