关于C语言的一个编程题目
展开全部
第二个题目:
从A口中可知b=2,a=3;
依此类推
b=2
e=4
c=1,d=2
c=5,d=3
e=4,a=1
每个人只说对了一半,先考虑A的话,即(b==2)+(a==3)==1,注意b==2如果是真的话,返回1,否则返回0;只对一半即只有一个返回1,另一个返回0,总和为1
依此可以类推
代码如下:(经过调试了的)
#include"stdio.h"
void
main()
{
int
a,b,c,d,e;
clrscr();
for(a=1;a<=5;a++)
for(b=1;b<=5;b++)
for(c=1;c<=5;c++)
for(d=1;d<=5;d++)
for(e=1;e<=5;e++)
{
if(a!=b&&a!=c&&a!=d&&a!=e)
//此处是为了保证a,b,c,d,e不重复
if(b!=c&&b!=d&&b!=e)
if(c!=d&&c!=e)
if(d!=e)
if((b==2)+(a==3)==1)
if((b==2)+(e==4)==1)
if((c==1)+(d==2)==1)
if((c==5)+(d==3)==1)
if((e==4)+(a==1)==1)
printf("a=%d,b=%d,c=%d,d=%d,e=%d\n",a,b,c,d,e);
}
getch();
}
结果如下:
a=3,b=1,c=5,d=2,e=4
从A口中可知b=2,a=3;
依此类推
b=2
e=4
c=1,d=2
c=5,d=3
e=4,a=1
每个人只说对了一半,先考虑A的话,即(b==2)+(a==3)==1,注意b==2如果是真的话,返回1,否则返回0;只对一半即只有一个返回1,另一个返回0,总和为1
依此可以类推
代码如下:(经过调试了的)
#include"stdio.h"
void
main()
{
int
a,b,c,d,e;
clrscr();
for(a=1;a<=5;a++)
for(b=1;b<=5;b++)
for(c=1;c<=5;c++)
for(d=1;d<=5;d++)
for(e=1;e<=5;e++)
{
if(a!=b&&a!=c&&a!=d&&a!=e)
//此处是为了保证a,b,c,d,e不重复
if(b!=c&&b!=d&&b!=e)
if(c!=d&&c!=e)
if(d!=e)
if((b==2)+(a==3)==1)
if((b==2)+(e==4)==1)
if((c==1)+(d==2)==1)
if((c==5)+(d==3)==1)
if((e==4)+(a==1)==1)
printf("a=%d,b=%d,c=%d,d=%d,e=%d\n",a,b,c,d,e);
}
getch();
}
结果如下:
a=3,b=1,c=5,d=2,e=4
展开全部
决赛成绩公布之后,每位选手的预测都只说对了一半,即一对一错.请编程解出比赛的实际名次.
#include<iostream.h>
int
main()
{
int
A,B,C,D,E;
int
a,b,c,d,e;
for(A=1;A<=5;A++)
for(B=1;B<=5;B++)
for(C=1;C<=5;C++)
for(D=1;D<=5;D++)
for(E=1;E<=5;E++)
{
a=(B==2)+(A==3);
b=(B==2)+(E==4);
c=(C==1)+(D==2);
d=(C==5)+(D==3);
e=(E==4)+(A==1);
if(a==1&&b==1&&c==1&&d==1&&e==1&&(A*B*C*D*E)==120)
//这一步里面的(A*B*C*D*E)==120
很关键,少了它结果就多了,改成加的结果也做不出来了。
cout<<"A:"<<A<<"
B:"<<B<<"
C:"<<C<<"
D:"<<D<<"
E:"<<E<<endl;
}
return
0;
}
#include<iostream.h>
int
main()
{
int
A,B,C,D,E;
int
a,b,c,d,e;
for(A=1;A<=5;A++)
for(B=1;B<=5;B++)
for(C=1;C<=5;C++)
for(D=1;D<=5;D++)
for(E=1;E<=5;E++)
{
a=(B==2)+(A==3);
b=(B==2)+(E==4);
c=(C==1)+(D==2);
d=(C==5)+(D==3);
e=(E==4)+(A==1);
if(a==1&&b==1&&c==1&&d==1&&e==1&&(A*B*C*D*E)==120)
//这一步里面的(A*B*C*D*E)==120
很关键,少了它结果就多了,改成加的结果也做不出来了。
cout<<"A:"<<A<<"
B:"<<B<<"
C:"<<C<<"
D:"<<D<<"
E:"<<E<<endl;
}
return
0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询