利用C++设计猜数字游戏
3个回答
展开全部
#include <iostream.h>//直接在库文件里找#include <stdlib.h>//包含了系统常用的函数#include <time.h>#include <math.h>void main(){ int n,i,number,gnumber,k,g,j; // n所猜数是几位数 xy 控制几到几 int x=1,y=1,a=0,b=0; int num[100],gnum[100];//正确数组 所猜数组 cout<<"Please input a number to determine the need to guess the number of digits :"<<endl; cin>>n; system("cls");//清屏 for(i=0;i<n;i++) { y=y*10; x=x*10; } y=y-1; x=x/10; srand((unsigned)time(NULL)); number=(rand()%(y-x))+x;//产生随机数从x-y k=number; for(i=0;i<n;i++)//正确数分开 { num[i]=k%10; k=k/10; } cout<<"guess"<<endl;//输出 猜数
while(number!=gnumber)//循环 正确数 猜的数 不相等时循环 { cout<<"Please enter a guess the number of digits:"<<endl; cin>>gnumber; g=gnumber; for(i=0;i<n;i++)//所猜数每一位分别放在数组 { gnum[i]=g%10; g=g/10; } for(i=0;i<n;i++)//每一位对比 { if(num[i]==gnum[i]) { a++; } } for(i=0;i<n;i++) { for(j=0;j<n;j++) { if(gnum[i]==num[j]) { b++; } } } b=b-a;//数对可能顺序不对 cout<<"A="<<a<<endl<<"B="<<b<<endl; a=b=0; }}
标准答案,给分谢谢。
while(number!=gnumber)//循环 正确数 猜的数 不相等时循环 { cout<<"Please enter a guess the number of digits:"<<endl; cin>>gnumber; g=gnumber; for(i=0;i<n;i++)//所猜数每一位分别放在数组 { gnum[i]=g%10; g=g/10; } for(i=0;i<n;i++)//每一位对比 { if(num[i]==gnum[i]) { a++; } } for(i=0;i<n;i++) { for(j=0;j<n;j++) { if(gnum[i]==num[j]) { b++; } } } b=b-a;//数对可能顺序不对 cout<<"A="<<a<<endl<<"B="<<b<<endl; a=b=0; }}
标准答案,给分谢谢。
展开全部
#include <iostream>#include <ctime>using namespace std;int main(){ srand((unsigned)time(NULL)); int num, temp, max=101, min=-1, n=0; cout << "输入一个数:" << endl; cin >> num; temp = rand() % max; n++; cout << "电脑——>" << temp << endl; int i = 0; while(i != 3) { cout << "选择结果( 1代表<, 2代表>, 3代表= ):" << endl; cin >> i; switch (i) { case 1: max = temp; cout << "数大了!" << endl; temp = rand() % max; while (temp <= min) { temp = rand() % max; } n++; cout << "电脑——>" << temp << endl; break; case 2: min = temp; cout << "数小了!" << endl; temp = rand() % max; while (temp <= min) { temp = rand() % max; } n++; cout << "电脑——>" << temp << endl; break; case 3: cout << "正确!" << endl; break; default: break; } } cout << "电脑总共猜了" << n << "次" << endl; return 0;} 试试
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询