• 个人简介

    #include <bits/stdc++.h> #include <windows.h> using namespace std; int main(){ int num[5][5]={0}; //储存卡牌数字 int flag[9]={0}; //记录每个数字出现的次数 int temp; int arr[5][5]={0}; //标记卡牌
    int ix,iy,ia,ib; cout << "记忆卡牌游戏规则" << endl; cout << "现有16张数字卡牌,由数字1~8组成,每个数字只出现2次" << endl; cout << "游戏者需要将卡牌翻至背面,找出所有相同的数字" << endl; cout << "每一轮只允许翻两张卡牌" << endl; cout << "如果卡牌数字相同,则将卡牌上有数字的一面显示出来" << endl; cout << "否则将卡牌翻回正面,进行下一轮" << endl; cout << "系统测量游戏者找出所有相同数字的卡牌所花费的步数(即进行多少轮)" << endl; system("pause"); //系统暂停含数 cout<<endl; srand(time(0)); //产生随机数种子 time(0) 时间戳 for(int i=1;i<=4;i++){ for(int j=1;j<=4;j++){ while(true){ temp = rand()%8+1; if(flag[temp]<2){ num[i][j]=temp; flag[temp]++; break; }else{ continue; } } } } for(int i=1;i<=4;i++){ for(int j=1;j<=4;j++){ printf("%c ",'*'); } cout<<endl; }
    while(1){ cout<<"请输入第一次翻牌的行数和列数:"; cin>>ix>>iy; arr[ix][iy]++;

    	system("cls");
    	for(int i=1;i<=4;i++){
    		for(int j=1;j<=4;j++){
    			if(arr[i][j]>0) cout<<num[i][j]<<" ";
    			else cout<<"* ";
    		}
    	cout<<endl;
    	}      
    	cout<<"请输入第二次翻牌的行数和列数:";
    	cin>>ia>>ib;
    	arr[ia ][ib]++;
    	 
    	system("cls");
    	for(int i=1;i<=4;i++){
    		for(int j=1;j<=4;j++){
    			if(arr[i][j]>0) cout<<num[i][j]<<" ";
    			else cout<<"* ";
    		}
    	cout<<endl;
    	}   
    	if(num[ix][iy]==num[ia][ib]){
    		cout<<"恭喜你!此轮翻牌成功"<<endl;
    	}else{
    		cout<<"很遗憾!此轮翻牌失败"<<endl;
    		arr[ix][iy]--;
    		arr[ia][ib]--; 
    	}
    	cout<<"2秒之后进入下一轮"<<endl;
    	Sleep(2000);
    	system("cls");
    	for(int i=1;i<=4;i++){
    		for(int j=1;j<=4;j++){
    			if(arr[i][j]>0) cout<<num[i][j]<<" ";
    			else cout<<"* ";
    		}
    	cout<<endl;
    	}   
    }                                                                      
    return 0;
    

    }

  • 通过的题目

  • 最近活动

    This person is lazy and didn't join any contests or homework.

题目标签

初窥门径
55
顺序结构
25
分支结构
21
略有小成
19
循环结构
17
字符串
8
驾轻就熟
7
一维数组
5
二维数组
4
结构体
3
模拟
3
for循环
2
while循环
1
排序
1
递推
1
递归
1