用a=1表示新郎a和x結婚,同理如果新郎a不與x結婚,則寫成a!=1,因此依題意有
a!=1?a不與x結婚
c!=1?c不與x結婚
c!=3?c不與z結婚
另外還有三個隱含條件:3個新郎不能互為配偶,所以有如下三條件:
a!=b
b!=c
a!=b
此題用窮舉,同時滿足以上六個條件即可*/
#include?<stdio.h>
main()
{
int?a,?b,?c;
for?(a?=?1;?a?<=?3;?a++) /*窮舉a的所有可能*/
for?(b?=?1;?b?<=?3;?b++)?/*窮舉b的所有可能*/
for?(c?=?1;?c?<=?3;?c++) /*窮舉c的所有可能*/
if?(a?!=?1?&&?c?!=?1?&&?c?!=?3?&&?a?!=?b?&&?a?!=?c?&&?b?!=?c)
/*如果表達式為真,則輸出結果,否則繼續下次循環*/
{
printf("%c?will?marry?to?a\n",?'x'?+?a?-?1);
printf("%c?will?marry?to?b\n",?'x'?+?b?-?1);
printf("%c?will?marry?to?c\n",?'x'?+?c?-?1);
}
}