(C语言程序设计)比酒量

Python019

(C语言程序设计)比酒量,第1张

#include <stdio.h>

void main()

{

int i,j,k,l

for(i=20i>=4i--) //至少要有4人才可以喝到第4轮 单人不超1瓶

for(j=i-1j>1j--)//每轮至少要倒下1个(i-1),至少乘下1人以上(j>1)

{

if(i+j>=i*j)continue//前两轮喝到1瓶的舍去

for(k=j-1k>1k--)

{

if(i*j+j*k+k*i>=i*j*k)continue////前三轮喝到1瓶的舍去

for(l=k-1l>1l--)

{

if(j*k*l + i*k*l + i*j*l + i*j*k == i*j*k*l) //分数等式 求整数解,避免用浮点数

printf("%d %d %d %d\n",i,j,k,l)

}

}

}

}

///////////

20 5 4 2

18 9 3 2

15 10 3 2

12 6 4 2

此题显然有误——

当n取1或2时能找到比1、2小的素数m吗?

当n取3时,比3小的素数只有2一个,喝3杯后肯定没有人喝到5杯,出不了结果,还要继续喝下去,但得换一个“以前没有用过的素数m”,只有一个2,再换换谁呢?

当n取5时,提问者可以自行演绎一下,同样存在2所指出的问题。

这题也很毛糙,如“将第一个喝到5杯酒的人指出来”——假设没有上述错误,按照题设规则,难道还会有第二个、第三个……喝到5杯的人吗?不可能啊,只要有人喝到5杯了游戏立马就结束了!

#include<stdio.h>

#include<string.h>

int main()

{

char sex[5]

int age

printf("请输入性别和年龄")

scanf("%d",&age)

scanf("%s",sex)

if(age>20)

{

printf("可以喝酒!")

}

else if(age>18 &&strcmp(sex,"男") ==0)

{

printf("可以喝酒!")

}

else

printf("喝饮料!")

return 0

}

你试试对不对