![]() |
本帖最后由 xuyaqi 于 2018-11-11 05:55 編輯 正確答案:1 0個男 10個女 0個孩 2 1個男 8個女 1個孩 3 2個男 6個女 2個孩 4 3個男 4個女 3個孩 5 4個男 2個女 4個孩 6 5個男 0個女 5個孩 參考程序: #include<reg52.h> #include "stdio.h" #define uchar unsigned char #define uint unsigned int struct daan { uchar nan; //1 男 uchar nv; //1 女 uchar hai; //1孩子 1 字節(jié) }; //共 3 個字節(jié) idata struct daan zhu[10]; sbit LED=P1^0; sbit speak=P2^5; sbit WEI=P2^6; sbit DUAN=P2^7; void main() { unsigned char a0,a1,a2;//a0-男大人;a1-女大人;a2-小孩; char i; for(a0=0;a0<7;) { for(a1=0;a1<11;) { for(a2=0;a2<31;) { if(a0*5+a1*3+a2==30)// { if(a0+a1+a2==10)// { zhu.nan=a0; zhu.nv =a1; zhu.hai=a2; i++; } } a2++; } a1++; } a0++; } //i=200;//算出答案 while(1) { } } |
男人 = x,女人=y,小孩 =z。x范圍0~6,y:0~10,z:0~30。用三個for循環(huán)內嵌,每個for內x,y,z自加,判斷:if(5x+3y+Z == 30)。此為計算機窮盡法。 |
難,算不出來,有答案嗎? |