在一个旅馆里住着6个不同国籍的人,他们分别来自美国,
德国,英国,法国,俄罗斯和意大利,他们的名字分别是A,
B,C,D,E,F,现已知:
(1) A和美国人是医生;
(2) E和俄罗斯人是教师;
(3) C和德国人是技师;
(4) B和F曾经当过医生,而德国人从未参军;
(5) 法国人比A年龄大,意大利人比C年龄大;
(6) B同美国人下周要去西安,而C同法国人下周要
去杭州;
请问:A,B,C,D,E,F各是哪国人?
提示:采用数组及循环判断语句。
能帮我解解吗??
关于逻辑的思路跟程序都要详细点啊!
谢谢拉!
#include<stdio.h>
void Print(int choice)
{switch( choice)
{
case 1:
printf(" USA ");
break;
case 2:
printf(" Ger ") ;
break;
case 3:
printf(" ENG ");
break;
case 4:
printf(" France ");
break;
case 5:
printf(" CCCP ") ;
break;
case 6:
printf(" Italy ");
break;
default:
break;
}
}
#include<stdio.h>
main()
{int a,b,c,d,e,f;
printf(" a b c d e f\n");
for(a=1;a<=6;a++)
for(b=1;b<=6;b++)
for(c=1;c<=6;c++)
for(d=1;d<=6;d++)
for(e=1;e<=6;e++)
for(f=1;f<=6;f++)
{if(a!=1&&e!=5&&c!=2&&f!=1&&a!=4&&c!=6&&b!=1&&c!=4)
if(a!=b&&a!=c&&a!=d&&a!=e&&a!=f&&b!=c&&b!=d&&b!=e&&b!=f&&c!=d&&c!=d&&c!=e&&c!=f
&&d!=e&&d!=f&&e!=f)
{Print(a);
Print(b);
Print(c);
Print(d);
Print(e);
Print(f);
printf("\n");
}
}
}
不知道对不对?
总感觉结果太多了,请指教