|
本帖最后由 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 字节 }; //共 3 个字节 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循环内嵌,每个for内x,y,z自加,判断:if(5x+3y+Z == 30)。此为计算机穷尽法。 |
| 难,算不出来,有答案吗? |