高分悬赏求解C语言难题

来源:百度知道 编辑:UC知道 时间:2024/06/08 01:19:58
用C语言编写下面两个题目
题目一
编一个游戏
1、玩家两人(也可以其中一人为电脑)。
2、有数1---40。
3、两玩家交替选数,除第一次选择外,后者所选数必须是前者所选数的倍数或者因数。
4、用过的数不可以再用。
5、没有可以选择的数为负。
6、第一次选择的数必须是偶数。

题目二
有一个农民伯伯到街上去卖羊,不料半路遇到一个桥,桥上有警察看守,要过桥就得收费,可是农民伯伯身无分文,只好给他一只羊做过路费,警察看农民伯伯可怜就还给他一只羊,农民伯伯那天过了100个桥,每过一个桥警察都返还给他一只羊,可是到了街上发现自己的羊一个也没少,请问农民伯伯原有几只羊?
两个题目是独立的 ;题目二的答案是1只羊,要求就是用C语言输出

明明是送一半的羊

1题感觉不是很难,就是不知道你最后要输出什么。你那只有要求,没有要输出的内容,2题就完全搞不明白了,

题目二的意思是说:农民就一个羊?

#include<iostream.h>
void f(int *t,int *r);
void g(int *t,int *r);
void C(int x);
int o=0,s=100;
int e[40]={-1};
int main()
{
int p,q;
cout<<"游戏规则:选择数字,1-40,两玩家交替选数,除第一次选择外,后者所选数必须是前者所选数的倍数或者因数,第一次选择的数必须是偶数。用过的数不可以再用,0代表玩家认输,游戏结束!确认请按回车"<<endl;
cout<<"开始游戏:"<<endl;
cout<<"请玩家1选择一个偶数:"<<endl;

cin>>p;

if(p==0||q==0){cout<<"此玩家失败,游戏结束!按Alt+F4退出!"<<endl;}

for(int a;a<=100;a--)
{
if(p<1||p>40||p%2!=0)
{ cout<<"请玩家1重新输入一个偶数:"<<endl;
cin>>p; if(p==0||q==0){cout<<"此玩家失败,游戏结束!按Alt+F4退出!"<<endl;}
}
else break;
}
e[o]=p;
o++;

cout<<"请玩家2选择一个数:"<&l