如何用循环嵌套设计以下C语言程序:在某一黑夜一司机碰伤行人之后逃逸,经过警察的调查之后,有3个目击者。

甲说:“车牌号的前两位相同,且末位数是奇数”;乙说:“车牌号的后两位加起来等于5”;丙说:“车牌号是一个四位数,并且能被3整除”,如果你是神探,你能找到这辆车吗? 求高手解释 急用啊 谢谢

int a,b,c,d; /*假设abcd分别表示车牌的5位数*/
for(a=0;a<9;a++)
for(b=0;b<9;b++)
for(c=0;c<9;c++)
for(d=0;d<9;d++)
{
if ((a==b && d%2==1)&&(c+d==5)&&((a*1000+b*100+c*10+d)%3)==0)
printf("The Code perhaps is %d%d%d%d!\n",a,b,c,d);

}

=================
我算了一下:结果2205,2223,2241,.......,8841
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-06-14
穷举法 同时满足3个条件 输出这个数
第2个回答  推荐于2018-05-14
#include <stdio.h>
int main()
{
int n;
for(n=1101;n<=9999;n+=2)
{
if(n/1000 != (n%1000)/100 )
continue;
if(n%10 + (n%100)/10 !=5)
continue;
if(n%3!=0)
continue;
printf("%d\n",n);
}
}本回答被网友采纳
第3个回答  2012-06-14
#include <stdio.h>
int main()
{
int a,b,c,d;
for(a=0;a<=9;a++)
{
for(b=0;b<=9;b++)
{
for(c=0;c<=9;c++)
{
for(d=0;d<=9;d++)
{
if(a==b&&d%2==1&&(c+d)==5&&(1000*a+100*b+10*c+d)%3==0)
printf("%d%d%d%d\n",a,b,c,d);
}
}
}
}
return 0;
}

结果:
2205
2223
2241
5505
5523
5541
8805
8823
8841
第4个回答  2012-06-14
#include <stdio.h>
int main(void)
{
int i,j,k;
for(i=0;i<10;i++)
for(j=0;j<10;j++)
for(k=0;k<10;k++)
if((i+i+j+k)%3==0&&k%2!=0&&(j+k)==5)
printf("%d%d%d%d\n",i,i,j,k);
return 0;
}

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网