这个是我在kisscjy的基础上修改过来的:
经测试,已经可以解决输入重复,中奖号码重复等问题.
#include<iostream>
#include<time.h>
#include<stdlib.h>
using namespace std;
int main()
{
int a[7];
int b[7];
int i;
char s = 'n';
int num=0;
cout<<"*******欢迎使用辽宁风彩福利彩票35选7号码预算系统*******\n";
while(s!='y' && s!='Y')
{
cout << "请输入你想要买的号码:\n";
for(i=0; i<7; i++)
{
cin >> a[i];
while(a[i]<=0 || a[i]>=36 )
{
cout << "你所输入的号码有误,请重新输入!" << endl;
cin >> a[i];
}
for( int ct=0;ct<i;ct++)
if(a[ct]==a[i])
{
cout << "号码重复,请重新输入!"<< endl;
--i;
break;
}
}
cout << "\n你所购买的号码为:\n";
for( i=0; i<7; i++)
{
cout << a[i] << '\t';
}
cout << "\n是否确定好吗?(y or n)\n";
cin >> s;
}
srand((unsigned)time(NULL));
for (i=0; i<7; i++)
{
int j=rand();
b[i] = j%35+1;
for(int m=0;m<i;m++)
if(b[m]==b[i])
{ --i; break; }
}
cout<<"\n本次开奖号码为:\n";
for (i=0; i<7; i++)
{
cout<<b[i]<<'\t';
}
for (int j=0; j<7; j++)
{
for (i=0; i<7; i++)
{
if(a[i]==b[j]) num++;
}
}
if(num==0) cout<<"\n\n很遗憾,你这次未能中奖,下次好远!"<<endl;
else cout<<"\n\n恭喜,你一共中了"<< num <<"个号码,共获得奖金"<<num*100<< "元!\n";
system("PAUSE");
return EXIT_SUCCESS;
}