本文目錄一覽:
- 1、C語言題目:已知某班有4位同學:A、B、C、D。其中有一位同學做了好事,但不知是誰。當被詢
- 2、C語言 邏輯判斷-誰做了好事!
- 3、看看是誰做的好事 c語言!!!!!!
- 4、C語言:有四位同學中的一位做了好事,不留名,表揚信來了之後,校長問這四位是誰做的好事。
C語言題目:已知某班有4位同學:A、B、C、D。其中有一位同學做了好事,但不知是誰。當被詢
#include stdio.h
int main()
{
int s,a,b,c,d; /*變量s代表做好事的同學,abcd代表ABCD同學的說法的正確性*/
for(s=’A’;s=’D’;s++) /*窮舉可能性,用字符’A’–‘D’代表4個同學*/
{
a=(s!=’A’); /*A說不是我: s!=’A’*/
b=(s==’C’); /*B說是C : s==’C’*/
c=(s==’D’); /*C說是D: s==’D’*/
d=(s!=’D’); /*D說C胡說: s!=’D’*/
if((a+b+c+d)==3) /*如果有3個人說的是真的就結束循環並輸出*/
{
printf(“做好事的同學是:%c\n”,s);
break;
}
}
return 0;
}
結果:
C語言 邏輯判斷-誰做了好事!
這個問題,採用窮舉法,用變量的值1代表是,變量的值0代表否。
下面是程序的代碼和運行的結果。
#include
int main()
{ int a,b,c,d,e,f,n,t=0;
scanf(“%d”,n);
for(a=1; a-1; a–)
for(b=1; b-1; b–)
for(c=1; c-1; c–)
for(d=1; d-1; d–)
for(e=1; e-1; e–)
for(f=1; f-1; f–)
if((a+b+c+d+e+f==1)(a==0)+(c==1)+(d==1)+(d==0)+(c+e==1)+(d+e==0)==n)
{ if(t)printf(” or “);
if(a)printf(“A”);
if(b)printf(“B”);
if(c)printf(“C”);
if(d)printf(“D”);
if(e)printf(“E”);
if(f)printf(“F”);
t=1;
}
printf(“\n”);
return 0;
}
看看是誰做的好事 c語言!!!!!!
做了好事不留名,意思就是有一個人說了謊話,因此分四種情況,以ABCD分別說了謊為四個條件來算,最後輸出滿足的結果。正確程序如下:
#includestdio.h
void main()
{
char h;
for(h=’A’;h=’D’;h++)
{if(h!=’A’h==’C’h==’D’h==’D’)
printf(“%c\n”,h);
if(h!=’A’h==’C’h!=’D’h!=’D’)
printf(“%c\n”,h);
if(h!=’A’h!=’C’h==’D’h!=’D’)
printf(“%c\n”,h);
if(h==’A’h==’C’h==’D’h!=’D’)
printf(“%c\n”,h);
}
}供參考:)
C語言:有四位同學中的一位做了好事,不留名,表揚信來了之後,校長問這四位是誰做的好事。
#includestdio.h
int A,X;
void main () {
for(A = ‘A’; A = ‘D’;A++) {
X = (A != ‘A’) + (A == ‘C’) + (A == ‘D’) + (A !=’ D’);
if(X == 3) {
printf(“%c做好事\n”,A);
break;
}
}
if(A ‘D’) printf(“沒人做好事”);
}
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/286308.html