#include <iostream>
#include <stdlib.h>
#include <time.h>
using namespace std;
int main(int argc, char** argv) {
//接收玩家输入6个数字
int userNum[6];
//系统产生的6个数字
int sysNum[6];
int temp,num=0;
bool flag=true;
for(int i=0;i<6;){
flag = true;
cout<<"请输入第"<<i+1<<"个数(大于0小于26)!"<<endl;
cin>>temp;
//验证不能输入重复值或范围不符,把flag变为false
for(int j=0;j<=i;j++){
if(userNum[j]==temp||0>=temp||temp>26){
cout<<"您输入了相同的数字或输入的数字不符合范围!"<<endl;
flag = false;
break;
}
}
//如果有重复值或范围不符,则不接收
if(flag){
userNum[i]=temp;
i++;
}
}
//随机因子
srand((unsigned)time(NULL));
//开始随机
for(int i=0;i<6;){
flag = true;
temp=rand()%25+1;
//验证不能输入重复值或范围不符,把flag变为false
for(int j=0;j<=i;j++){
if(sysNum[j]==temp){
flag = false;
break;
}
}
//如果有重复值或范围不符,则不接收
if(flag){
sysNum[i]=temp;
i++;
}
}
//计算相同数
for(int i=0;i<6;i++){
for(int j=0;j<6;j++){
if(userNum[i]==sysNum[j]){
++num;
break;
}
}
}
//冒泡排序
for(int i=0;i<6;i++){
for(int j=0;j<6-i-1;j++){
if(userNum[j]>userNum[j+1]){
temp=userNum[j];
userNum[j]=userNum[j+1];
userNum[j+1]=temp;
}
if(sysNum[j]>sysNum[j+1]){
temp=sysNum[j];
sysNum[j]=sysNum[j+1];
sysNum[j+1]=temp;
}
}
}
cout<<"用户输入:";
for(int i=0;i<6;i++){
cout<<userNum[i]<<" ";
}
cout<<endl;
cout<<"系统生成:";
for(int i=0;i<6;i++){
cout<<sysNum[i]<<" ";
}
cout<<endl;
cout<<"相同数字共有:"<<num<<"位。"<<endl;
return 0;
}
调试截图