路过的大佬们来帮忙看看有啥问题
  • 板块灌水区
  • 楼主封禁用户
  • 当前回复0
  • 已保存回复0
  • 发布时间2022/3/16 22:16
  • 上次更新2023/10/28 06:25:34
查看原帖
路过的大佬们来帮忙看看有啥问题
363096
封禁用户楼主2022/3/16 22:16
#include<bits/stdc++.h>
#define random(a,b) (rand()%(b-a)+a)
using namespace std;
int main()
{
	int a,b=0,ni,ying=0,shu=0;
	int c=0;
	cout<<"此游戏声明,系统出什么是随机的,在你输入前就已确定好本次出什么,游戏公平公正,请玩家放心使用。"<<endl;
	cout<<"当然,作者的技术尚未成熟,程序在运行时如果有差错(很少),请诸位玩家见谅!"<<endl;
	cout<<"1.石头 2.剪刀 3.布 4.结束游戏"<<endl<<"请输入编号"<<endl;
    for(int i=0;i<100;i++)
    {
		a=random(0,4);
		cin>>ni;
		if(ni==4)
        {
        	cout<<"游戏结束"; 
        	return 0;
		}
		if(ni!=1&&ni!=2&&ni!=3)
		{
			cout<<"1.石头 2.剪刀 3.布"<<endl<<"请输入编号"<<endl;
			cin>>ni;
			if(ni!=1&&ni!=2&&ni!=3)
			{
				for(;ni!=1||ni!=2||ni!=3;)
				{
					cout<<"1.石头 2.剪刀 3.布"<<endl<<"请输入编号"<<endl;
					cin>>ni;
					if(ni==4)
					{
						cout<<"游戏结束"; 
        				return 0;
					}
					if(ni==a)
        			{
        				cout<<"平局"<<" "<<"赢:"<<ying<<"输:"<<shu<<endl;
        				c=3;
					}
        			if(ni==1)
        			{
        				if(a==3)
        				{
        					shu++; 
        					cout<<"你输了"<<" "<<"赢:"<<ying<<"输:"<<shu<<endl;
        					c=0;
						}
						if(a==2)
						{
							ying++;
        					cout<<"你赢了"<<" "<<"赢:"<<ying<<"输:"<<shu<<endl;
        					c=1;
						}
					}
					if(ni==2)
					{
						if(a==1)
						{
							shu++;
							cout<<"你输了"<<" "<<"赢:"<<ying<<"输:"<<shu<<endl;
        					c=0;
						}
						if(a==3)
						{
							ying++;
        					cout<<"你赢了"<<" "<<"赢:"<<ying<<"输:"<<shu<<endl;
        					c=1;
						}
					}
					if(ni==3)
					{
						if(a==1)
						{
							ying++;
        					cout<<"你赢了"<<" "<<"赢:"<<ying<<"输:"<<shu<<endl;
        					c=1;
						}
						if(a==2)
						{
							shu++;
							cout<<"你输了"<<" "<<"赢:"<<ying<<"输:"<<shu<<endl;
							c=0;
						}
					}
				}
			}
		}
        if(0<a&&a<4)
        {
        	cout<<a<<" "<<endl;
        	b++;
        	if(ni==a)
        	{
        		cout<<"平局"<<" "<<"赢:"<<ying<<"输:"<<shu<<endl;
        		c=3;
			}
        	if(ni==1)
        	{
        		if(a==3)
        		{
        			shu++; 
        			cout<<"你输了"<<" "<<"赢:"<<ying<<"输:"<<shu<<endl;
        			c=0;
				}
				if(a==2)
				{
					ying++;
        			cout<<"你赢了"<<" "<<"赢:"<<ying<<"输:"<<shu<<endl;
        			c=1;
				}
			}
			if(ni==2)
			{
				if(a==1)
				{
					shu++;
					cout<<"你输了"<<" "<<"赢:"<<ying<<"输:"<<shu<<endl;
        			c=0;
				}
				if(a==3)
				{
					ying++;
        			cout<<"你赢了"<<" "<<"赢:"<<ying<<"输:"<<shu<<endl;
        			c=1;
				}
			}
			if(ni==3)
			{
				if(a==1)
				{
					ying++;
        			cout<<"你赢了"<<" "<<"赢:"<<ying<<"输:"<<shu<<endl;
        			c=1;
				}
				if(a==2)
				{
					shu++;
					cout<<"你输了"<<" "<<"赢:"<<ying<<"输:"<<shu<<endl;
        			c=0;
				}
			}
    	}
    }
    return 0;
}
这个程序我自己运行后发现只有前三次输入是正常的,从第四次开始就需要重复输入两遍才行,不知道为什么会这样。希望路过的大佬们能够前来赐教,对代码进行改进纠正,谢谢!~
2022/3/16 22:16
加载中...