精品理论电影在线_日韩视频一区二区_一本色道精品久久一区二区三区_香蕉综合视频

C語言實例編程:新娘和新?O

發布時間:2011-09-16 共1頁

  三對情侶參加婚禮,三個新郞為A、B、C,三個新娘為X、Y、Z。有人不知道誰和誰結婚,于是詢問了六位新人中的三位,但聽到的回答是這樣的:A說他將和X結婚;X說她的未婚夫是C;C說他將和Z結婚。這人聽后知道他們在開玩笑,全是假話。請編程找出誰將和誰結婚。

  *問題分析與算法設計

  將A、B、C三人用1,2,3表示,將X和A結婚表示為“X=1”,將Y不與A結婚表示為“Y!=1”。按照題目中的敘述可以寫出表達式:

  x!=1 A不與X結婚

  x!=3 X的未婚夫不是C

  z!=3 C不與Z結婚

  題意還隱含著X、Y、Z三個新娘不能結為配偶,則有:

  x!=y且x!=z且y!=z

  窮舉以上所有可能的情況,代入上述表達式中進行推理運算,若假設的情況使上述表達式的結果均為真,則假設情況就是正確的結果。

  *程序說明與注釋

  #include<stdio.h>

  int main()

  {

  int x,y,z;

  for(x=1;x<=3;x++) /*窮舉x的全部可能配偶*/

  for(y=1;y<=3;y++) /*窮舉y的全部可能配偶*/

  for(z=1;z<=3;z++) /*窮舉z的全部可能配偶*/

  if(x!=1&&x!=3&&z!=3&&x!=y&&x!=z&&y!=z) /*判斷配偶是否滿足題意*/

  {

  printf("X will marry to %c.\n",'A'+x-1); /*打印判斷結果*/

  printf("Y will marry to %c.\n",'A'+y-1);

  printf("Z will marry to %c.\n",'A'+z-1);

  }

  }

  *運行結果

  X will marry to B. (X與B結婚)

  Y will marry to C. (Y與C結婚)

  Z will marry to A. (Z與A結婚)

百分百考試網 考試寶典

立即免費試用