C語言:邏輯推理


1A、B、C、D、E五名學生有可能參加計算機競賽,根據下列條件判斷哪些(10分)

題目內容:

 

A、B、C、D、E五名學生有可能參加計算機競賽,根據下列條件判斷哪些

  人參加了競賽:

 

   (1)A參加時,B也參加;

 

   (2)B和C只有一個人參加;

 

   (3)C和D或者都參加,或者都不參加;

 

   (4)D和E中至少有一個人參加;

 

   (5)如果E參加,那么A和D也都參加。

 

輸入格式:

 

 

輸出格式:

大寫字母表示參加的人,中間無空格。

比如最終結果是A和D參加了,則輸出

AD

 編碼:

 

#include<stdio.h>
int main(){
	int A,B,C,D,E;
	for (A=0; A<2; A++)
		for(B=0; B<2; B++)
          	for(C=0; C<2; C++)
              	for(D=0; D<2; D++)
                  	for(E=0; E<2; E++)
                  	{
                      	if(A && !B) continue;
                      	if((B && C) || (!B && !C)) continue;
                      	if(( C && !D) || (!C && D)) continue;
                      	if (!D && !E) continue;
                      	if (E && (!A || !D)) continue;
                      	
						if(A==1)
							printf("A");
						if(B==1)
							printf("B");
						if(C==1)
							printf("C");
						if(D==1)
							printf("D");
						if(E==1)
							printf("E");
                  	}

    return 0;
}

 

2、某地刑警大隊對涉及6個嫌疑人的一樁疑案進行分析:(10分)

題目內容:

某地刑警大隊對涉及6個嫌疑人的一樁疑案進行分析:
⑴ A、B至少有1人作案;
⑵ A、E、F ,3人中至少有2人參與作案;
⑶ A、D不可能是同案犯;
⑷ B、C或同時作案,或都與本案無關;
⑸ C、D中有且僅有一人作案;
⑹ 如果D沒有參與作案,則E也不可能參與作案。
編程找出作案人。

 

輸入格式:

 

 

輸出格式:

大寫字母表示參加的人,中間無空格。

比如最終結果是A和D參加了,則輸出

AD

 編碼:

 

#include<stdio.h>  
int main()  
{  
    int A, B, C, D, E, F ;//定義A到E六個變量,作案等於1,否則等於0  
    for(A = 0 ; A < 2 ; A ++)  
      for(B = 0 ; B < 2 ; B ++)  
        for(C = 0 ; C < 2 ; C++)  
          for(D = 0 ; D < 2 ; D++)  
            for(E = 0 ; E < 2 ; E++)  
              for(F = 0 ; F < 2 ; F++)  
	            {  
	                if(6 ==  
	                ( A || B )              //A、B 至少有一人作案  
	                +( !(A && D) )              //A、D 不可能是同案犯  
	                +( (A && E) || (A && F) || (E && F) )   //A、E、F 三人中至少有兩人參與作案  
	                +( (B && C) || (!B && !C) )     //B、C 或同時作案,或與本案無關  
	                +( (C && !D) || (D && !C) )     //C、D 中有且僅有一人作案  
	                +( D||(!E)) )//如果 D 沒有參與作案,則 E 也不可能參與作案。  
					{
				
	                    if(A==1)
							printf("A");
						if(B==1)
							printf("B");
						if(C==1)
							printf("C");
						if(D==1)
							printf("D");
						if(E==1)
							printf("E");
						if(F==1)
							printf("F");
	            	}
	            }  
     return 0 ;  
}  

 

  

 

  

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM