一些有趣的C++代码

绛橘色の日落 的博客 / 2023-08-04 / 原文

本文混合搅碎剁烂转载。。。

 

 

 

1:输出当前时间(C)

main(_) {
    _^448&&main(-~_);
    putchar(--_%64?32|-~7[__TIME__-_/8%8][">'txiZ^(~z?"-48]>>";;;====~$::199"[_*2&8|_/64]/(_&2?1:8)%8&1:10);
}

 

2:代码比较器

 

#include<bits/stdc++.h>
#include<windows.h>
using namespace std;
string a[1000001],b[1000001];
void color(int r) {
    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),r);
}
int main() {
    color(112);
    string a2,b2;
    long long i=1,i2=1;
    while(1) {
        system("cls");
        cout<<"代码比较器。"<<endl;
        cout<<"输入完毕后请按回车键再按一个英文句号"<<endl;
        cout<<"模板代码:"<<endl;
        while(getline(cin,a[i])) {
            if(a[i]==".") {
                break;
            }
            for(int j=0; j<a[i].size(); j++) {
                if(a[i][j]!=' ') {
                    a2=a2+a[i][j];
                }
            }
            i++;
        }
        system("cls");
        cout<<"代码比较器。"<<endl;
        cout<<"输入完毕后请按回车键再按一个英文句号"<<endl;
        cout<<"模板代码:"<<endl;
        for(int ja=1; ja<i; ja++) {
            if(a[ja][0]=='#') {
                color(114);
                cout<<a[ja];
                color(112);
            } else {
                for(int k=0; k<a[ja].size(); k++) {
                    if(a[ja][k]=='{'||a[ja][k]=='}'||a[ja][k]=='['||a[ja][k]==']'||a[ja][k]=='~'||a[ja][k]=='`'||a[ja][k]=='!'||a[ja][k]=='%'||a[ja][k]=='^'||a[ja][k]=='&'||a[ja][k]=='*'||a[ja][k]=='('||a[ja][k]==')'||a[ja][k]=='|'||a[ja][k]=='?'||a[ja][k]=='/'||a[ja][k]=='<'||a[ja][k]=='>'||a[ja][k]==','||a[ja][k]=='.'||a[ja][k]=='+'||a[ja][k]=='=') {
                        color(116);
                        cout<<a[ja][k];
                        color(112);
                    } else if(a[ja][k]>='0'&&a[ja][k]<='9') {
                        color(117);
                        cout<<a[ja][k];
                        color(112);
                    } else {
                        cout<<a[ja][k];
                    }
                }
            }
            cout<<endl;
        }
        cout<<"学生代码:"<<endl;
        while(getline(cin,b[i2])) {
            if(b[i2]==".") {
                break;
            }
            for(int j=0; j<b[i2].size(); j++) {
                if(b[i2][j]!=' ') {
                    b2=b2+b[i2][j];
                }
            }
            i2++;
        }
        system("cls");
        if(a2==b2) {
            cout<<"完全一样。 "<<endl<<endl;
            system("pause");
            return 0;
        }
        cout<<endl;
        long long ja=0,jb=0,j2=0;
        long long s=0,s2=0,wa=0,va=0;
        for(int j=1; j<min(i,i2); j++) {
            j2++;
            while(a[ja].size()==0) {
                ja++;
            }
            while(b[jb].size()==0) {
                jb++;
            }
            string a3,b3;
            for(int k=0; k<a[ja].size(); k++) {
                if(a[ja][k]!=' ') {
                    a3=a3+a[ja][k];
                }
            }
            for(int k=0; k<b[jb].size(); k++) {
                if(b[jb][k]!=' ') {
                    b3=b3+b[jb][k];
                }
            }
            va=va+a[ja].size()+b[jb].size();
            if(a3!=b3) {
                cout<<"       ";
                for(int k=0; k<max(a[ja].size(),b[jb].size())+2; k++) {
                    cout<<"_";
                }
                cout<<endl;
                wa++;
                cout<<setw(5)<<j2<<" | ";
                if(a[ja][0]=='#') {
                    color(114);
                    cout<<a[ja];
                    color(112);
                } else {
                    for(int k=0; k<a[ja].size(); k++) {
                        if(a[ja][k]=='{'||a[ja][k]=='}'||a[ja][k]=='['||a[ja][k]==']'||a[ja][k]=='~'||a[ja][k]=='`'||a[ja][k]=='!'||a[ja][k]=='%'||a[ja][k]=='^'||a[ja][k]=='&'||a[ja][k]=='*'||a[ja][k]=='('||a[ja][k]==')'||a[ja][k]=='|'||a[ja][k]=='?'||a[ja][k]=='/'||a[ja][k]=='<'||a[ja][k]=='>'||a[ja][k]==','||a[ja][k]=='.'||a[ja][k]=='+'||a[ja][k]=='=') {
                            color(116);
                            cout<<a[ja][k];
                            color(112);
                        } else if(a[ja][k]>='0'&&a[ja][k]<='9') {
                            color(117);
                            cout<<a[ja][k];
                            color(112);
                        } else {
                            cout<<a[ja][k];
                        }
                    }
                }
                cout<<endl;
                cout<<""<<"  # ";
                if(b[jb][0]=='#') {
                    color(114);
                    cout<<b[jb];
                    color(112);
                } else {
                    for(int k=0; k<b[jb].size(); k++) {
                        if(b[jb][k]=='{'||b[jb][k]=='}'||b[jb][k]=='['||b[jb][k]==']'||b[jb][k]=='~'||b[jb][k]=='`'||b[jb][k]=='!'||b[jb][k]=='%'||b[jb][k]=='^'||b[jb][k]=='&'||b[jb][k]=='*'||b[jb][k]=='('||b[jb][k]==')'||b[jb][k]=='|'||b[jb][k]=='?'||b[jb][k]=='/'||b[jb][k]=='<'||b[jb][k]=='>'||b[jb][k]==','||b[jb][k]=='.'||b[jb][k]=='+'||b[jb][k]=='=') {
                            color(116);
                            cout<<b[jb][k];
                            color(112);
                        } else if(b[jb][k]>='0'&&b[jb][k]<='9') {
                            color(117);
                            cout<<b[jb][k];
                            color(112);
                        } else {
                            cout<<b[jb][k];
                        }
                    }
                }
                cout<<"  "<<""<<endl;
            } else {
                cout<<setw(5)<<j2<<" | ";
                if(a[ja][0]=='#') {
                    color(114);
                    cout<<a[ja];
                    color(112);
                } else {
                    for(int k=0; k<a[ja].size(); k++) {
                        if(a[ja][k]=='{'||a[ja][k]=='}'||a[ja][k]=='['||a[ja][k]==']'||a[ja][k]=='~'||a[ja][k]=='`'||a[ja][k]=='!'||a[ja][k]=='%'||a[ja][k]=='^'||a[ja][k]=='&'||a[ja][k]=='*'||a[ja][k]=='('||a[ja][k]==')'||a[ja][k]=='|'||a[ja][k]=='?'||a[ja][k]=='/'||a[ja][k]=='<'||a[ja][k]=='>'||a[ja][k]==','||a[ja][k]=='.'||a[ja][k]=='+'||a[ja][k]=='=') {
                            color(116);
                            cout<<a[ja][k];
                            color(112);
                        } else if(a[ja][k]>='0'&&a[ja][k]<='9') {
                            color(117);
                            cout<<a[ja][k];
                            color(112);
                        } else {
                            cout<<a[ja][k];
                        }
                    }
                }
                cout<<endl;
            }
            ja++;
            jb++;
        }
        cout<<endl<<"比较了 "<<min(i,i2)*2<<" 行代码,"<<va<<" 个字符;"<<endl;
        cout<<"比较出有 "<<wa<<" 行代码不相同。"<<endl<<endl;
        system("pause");
    }
    return 0;
}

 

 3:极不完整的圆

 

 

#include <bits/stdc++.h>
using namespace std;

int main() {
    int x,m;
    for(double y=10; y>=-10; y--) {
        m=2*sqrt(100-y*y);
        for(x=1; x<30-m; x++)
            cout<<" ";
        cout<<"*";
        for(; x<30+m; x++)
            cout<<" ";
        cout<<"*"<<endl;
    }
    return 0;
}