倒计时

#include <iostream>
#include <windows.h>
//#include <cstdlib>
using namespace std;
int days;
int hours;
int mintues;
int seconds;
void printMenu()
{
cout<<"欢迎进入时间倒计时系统"<<endl;
cout<<endl;
}
void Input()
{
cout<<"请输入时间,格式为:Days,Hours,Mintues,Seconds"<<endl;
cin>>days>>hours>>mintues>>seconds;
cout<<endl;
}
void CountDown_Seconds(int &Days,int &Hours,int &Mintues,int &Seconds)//引用
{
for(; seconds >= 0; Seconds--)
{
cout<<"倒计时"<<Days<<"天"<<Hours<<"小时"<<Mintues<<"分"<<Seconds<<"秒"<<endl;//Seconds的S没有大写
Sleep(1000);//后Sleep可以看清楚时间
system("cls");
}
}
void CountDown_Mintues(int &Days,int &Hours,int &Mintues,int &Seconds)//引用
{
for(; Mintues >= 0; Mintues--)//<=改成>=
{
CountDown_Seconds( Days, Hours, Mintues, Seconds);
Seconds = 59; //这个改成59
}
}
void CountDown_Hours(int &Days,int &Hours,int &Mintues,int &Seconds)//引用
{
for( ; Hours >= 0 ; Hours--)//<=改成>=
{
CountDown_Mintues( Days, Hours, Mintues, Seconds);
Mintues = 59;//这个改成59
}
}
void CountDown(int Days,int Hours,int Mintues,int Seconds)
{
for( ; Days >= 0 ; Days--)//<=改成>=
{
CountDown_Hours( Days, Hours, Mintues, Seconds);
Hours = 23; //这个改成23
}
}
int main()
{
int i = 1;
int set;
printMenu();
while(i<=3)
{
Input();
cout<<"您输入的时间为"<<days<<"天"<<hours<<"小时"<<mintues<<"分"<<seconds<<"秒"<<endl;
cout<<"确认请按 1 ,否则请按 0 : ";
cin>>set;
if(set)
{
break;
}
i++;
}
CountDown( days, hours, mintues, seconds);
//system("pause");
return 0;
}

Dev C--

#include<iostream>
#include<windows.h>
#include<conio.h>
#include<string>
#include<fstream>
using namespace std;
string s[105]={"0","#include<iostream>","using namespace std;","int main(){","}"},sr;
string tj[10]={"0","iostream","algorithm","cmath","cstring","cstdio","iomanip","string","bits/stdc++.h"};
string f[10]={"0","sort","memset"};
int h[105],hh=4,h2=3;
void cr(int h2,int x){
	hh+=x;
	for(int i=hh;i>h2;i--)s[i]=s[i-x];
}
void sc(int h2,int l){
	for(int j=h2;j<hh;j++)s[j]=s[j+l-h2+1];
	hh-=(l-h2+1);h2-=(l-h2+1);
}
string j(string sr){
	if(sr[sr.size()-1]!=';'&&sr[sr.size()-1]!='{')sr+=";";
	return sr;
}
char ch;
int p;
bool z;
bool tw[10];
void ax(){
	if(_kbhit()){
		system("cls");
    	ch=_getch();
        if(ch==72)if(h2>1)h2--;
        if(ch==80)if(h2<hh)h2++;
        if(ch>=48&&ch<=57)p=ch-48,z=true;
        if(ch>='a'&&ch<='z')p=ch,z=true;
   		for(int i=1;i<=hh;i++)cout<<h[i]<<"  "<<s[i]<<"\n";
		cout<<"当前行:"<<h2<<"\n"; 
		cout<<"\n1.定义变量\n2.输入/输出\n3.循环\n4.删除代码\n5.if else\n6.自定义\n7.切换行(也可以按↑ ↓)\n8.新增头文件\n9.调用函数\ns.保存代码\no.读取代码\n";
    }
}

////////////////自动保存功能 
bool bAutoSave=false; // 自动保存开关 
bool bAutoLoad=false; // 自动读取开关 

void save_to(){      // 保存代码 
	const char* path="用代码写的代码.cpp";  // 保存文件名字 
	ofstream fout(path);
	if(fout.is_open()){
		for(int i=1;i<=hh;i++){
			fout<<s[i]<<endl;
		}
		fout.close();
	}else{
		cerr<<"保存文件失败"<<endl; 
	}
}

void load_from(){   // 读取代码 
	const char* path="用代码写的代码.cpp";  // 要读取的文件的名字
	string line;
	ifstream fin(path);
	if(fin.is_open()){
		hh=0;
		while(getline(fin,line)){
			hh++;
			s[hh]=line;
		}
		h2=hh;
		fin.close();
	}
}

struct CodeLS{
	CodeLS(){
		if(bAutoLoad){
			load_from();
		}
	}
	~CodeLS(){
		if(bAutoSave){
			save_to();
		}
	}
}code_ls;

////////////////

void k(int a){
	int c=3;
	while(a!=0){
		a/=10;
		c--;
	}
	for(int i=1;i<=c;i++)cout<<" ";
}
int fw;
int main(){
	for(int i=1;i<=105;i++)h[i]=i;
	while(true){
		if(h2>hh)h2=hh;
		if(h2<1)h2=1;
		for(int i=1;i<=hh;i++){
			cout<<h[i];
			k(i);
			cout<<s[i]<<"\n";
		}
		cout<<"当前行:"<<h2<<"\n"; 
		cout<<"\n1.定义变量\n2.输入/输出\n3.循环\n4.删除代码\n5.if else\n6.自定义\n7.切换行(也可以按↑ ↓)\n8.新增头文件\n9.调用函数\ns.保存代码\no.读取代码\n";
		while(true){
			ax();
			if(z==true){
				cout<<p<<endl;
				z=false;
				break;
			}
		}
		string bl;fw++;
		if(fw==1)cout<<"全部输入0返回\n"; 
		if(p==7){
			int g;
			cout<<"切换到...\n";
			cin>>g;
			if(g!=0)h2=g;
			else {system("cls");continue;}
		}
		if(p==1){
			cout<<"类型 名称\n";
			cin>>sr>>bl;
			if(sr=="0"&&bl=="0"){system("cls");continue;}
			cr(h2,1);
			s[h2]=sr+" "+bl;
			s[h2]=j(s[h2]);h2++;
		}
		if(p==3){
			int x;
			cout<<"1.for\n2.while\n";
			cin>>x;
			if(x==0){system("cls");continue;}
			if(x==1){
				string b,e,d,m;
				cout<<"变量名 起始 终止 +/-\n";
				cin>>m>>b>>e>>d;
				sr="for(int "+m+"="+b+";"+m;
				if(d=="+")sr+="<="+e+";"+m+"++";
				else sr+=">="+e+";"+m+"--";
			}else{
				string v;
				cout<<"条件\n";
				cin>>v;
				sr="while("+v;
			}
			cr(h2,2);
			s[h2]=sr+"){";
			s[h2+1]="}";h2++;
		}
		if(p==2){
			string z,x;
			cout<<"1.输入 2.输出\n变量\n";
			cin>>z>>x;
			if(z=="0"&&x=="0"){system("cls");continue;}
			if(z=="1")sr="cin>>"+x+";";
			else sr="cout<<"+x+";";
			cr(h2,1);
			s[h2]=sr;h2++;
		}
		if(p==4){
			int w;
			cout<<"1.修改 2.删除\n";
			cin>>w;
			if(w==0){system("cls");continue;}
			if(w==1){
				string x,f;
				getline(cin,f);
				getline(cin,x); 
				s[h2]=x;
			}else{
				int l;
				cout<<"结束行";
				cin>>l;
				sc(h2,l);h2-=abs(h2-l);
			}
		}
		if(p==5){
			int z;
			string b;
			cout<<"1.if; 2.else if; 3.else;\n";
			cin>>z;
			if(z==0){system("cls");continue;}
			if(z==1){
				cout<<"条件\n"; 
				cin>>b;
				sr="if("+b+"){";
			}
			if(z==2){
				cout<<"条件\n"; 
				cin>>b;
				sr="else if("+b+"){";				
			}
			if(z==3)sr="else{";
			cr(h2,2);
			s[h2]=sr;
			s[h2+1]="}";h2++;
		}
		if(p==6){
			cout<<"代码\n";
//			getline(cin,sr);
			getline(cin,sr);
			if(sr=="0"){system("cls");continue;}
			sr=j(sr);
			cr(h2,1);
			s[h2]=sr;h2+=1;
		}
		int t;
		if(p==8){
			for(int i=1;i<=8;i++)cout<<i<<"."<<tj[i]<<"\n";		
			cin>>t;
			if(t==0){system("cls");continue;}
			cr(1,1);
			sr="#include<"+tj[t]+">";
			s[1]=sr;h2++;
		}
		if(p==9){
			cout<<"你要调用哪个函数?\n";
			string b;
			for(int i=1;i<=2;i++)cout<<i<<"."<<f[i]<<"\n";
			cin>>t;sr=f[t]+"(";
			if(t==0){system("cls");continue;}
			cout<<"数组名:";
			cin>>b;
			if(t==1){
				string s,e;
				cout<<"起始 终止:";
				cin>>s>>e;
				sr+=b+"+"+s+","+b+"+"+e+"+1);";
			}
			if(t==2){
				string a;
				cout<<"遍历数:";
				cin>>a;
				sr+=b+","+a+",sizeof("+b+"));";
			}
			cr(h2,1);
			s[h2]=sr;h2++;
		}
		if(p=='o'){
			load_from();
		}
		if(p=='s'){
			save_to();
    }
		system("cls");
	}
}

Minecraft模拟器

//Minecraft模拟器
#include<bits/stdc++.h>
using namespace std;
const char t[10][10]={
	"..+---+",
	"./   /|",
	"+---+ |",
	"|   | +",
	"|   |/.",
	"+---+.."
};
char c[1010][1010];
int n,m,a[1010][1010],K,L;
void draw(int x,int y){
	for(int i=0;i<6;i++){for(int j=0;j<7;j++){if(t[5-i][j]!='.')c[x+i][y+j]=t[5-i][j];}} //放置方块
	K=max(K,x+6);
	L=max(L,y+7); //画完方块后进行高度更新
}
signed main(){ //Minecraft
    cout<<"请输入:两个整数,n,m"; 
	cin>>m>>n;
	cout<<"请输入:一个n*m的矩阵"; 
	for(int i=0;i<m;i++){for(int j=0;j<n;j++)cin>>a[i][j];} //读入
	//前遮后 右遮左 上遮下
	for(int i=0;i<1000;i++)for(int j=0;j<1000;j++)c[i][j]='.';
	for(int i=0;i<m;i++){
		for(int j=0;j<n;j++){
			for(int k=0;k<a[i][j];k++){
				int x,y;//找到左下角坐标
				x=3*k+2*(m-i-1);
				y=4*j+2*(m-i-1);
				draw(x,y);//画方块
			}
		}
	}
	for(int i=K-1;i>=0;i--){
		for(int j=0;j<L;j++){cout<<c[i][j];}
		cout<<endl;
	}
	return 0;
}

数独

#include<bits/stdc++.h>
using namespace std;
const int maxSize=10;
int Size,cnt,a[maxSize*maxSize],f[maxSize*maxSize],maxBlk,sqr,ANS,lis[maxSize*maxSize];
bool row[maxSize][maxSize],col[maxSize][maxSize],blk[maxSize][maxSize];
bool inNum[maxSize][maxSize];
void dfs(int step){
	if(step>maxBlk){  
		for(int i=1;i<=Size*Size;i++){
				cout<<a[i]<<" ";
				if(i%9==0)cout<<endl;
		}
		cout<<endl;
		return;
	}else{
		int r=lis[step]/Size+1;
		int c=lis[step]%Size;
	    if(c==0)r=lis[step]/9,c=9;
		int b=(r-1)/(sqr)*(sqr)+(c-1)/(sqr)+1;
		for(int i=1;i<=Size;i++){
			if(inNum[r][c]){
				dfs(step+1);
				break;
			}
			if(!row[r][i]&&!col[c][i]&&!blk[b][i]){
				a[lis[step]]=i;
				row[r][i]=col[c][i]=blk[b][i]=1;
				dfs(step+1);
				row[r][i]=col[c][i]=blk[b][i]=0;
			}
		}
	}
}
struct srow{int id,zr;}RR[maxSize];
bool cmp(srow x,srow y){return x.zr<y.zr;}
void init(){
    sort(RR+1,RR+10,cmp);
    int stp=0;
	for(int i=1;i<=9;i++){
		for(int j=1;j<=9;j++){
			int x=RR[i].id,y=j;
			lis[++stp]=(x-1)*9+y;
		}
    }
    return;
}
char ch;int num,T,pos;
int main(){
	cin>>T;
	while(T--){
		memset(row,0,sizeof(row));
		memset(col,0,sizeof(col));
		memset(blk,0,sizeof(blk));
		pos=0;
		Size=9,sqr=3,maxBlk=81;
		for(int i=1;i<=Size;i++){
			RR[i].zr=0;
			for(int j=1;j<=Size;j++){
				cin>>ch;num=ch-'0';
				inNum[i][j]=(num==0)?0:1;
				a[++pos]=num;
				int r=(pos-1)/Size+1;
				int c=(pos-1)%Size+1;
				int b=(r-1)/(sqr)*(sqr)+(c-1)/(sqr)+1;
				row[r][num]=col[c][num]=blk[b][num]=1;
	            if(num==0)RR[i].zr++;
			}
	        RR[i].id=i;
		}
	    init(); // 处理顺序
		dfs(1);
	}
	return 0;
}

传送门