这题很明显只能买小毛巾,500块买200毛巾,那么每块毛巾平均价格为2.5元,那就只能买小毛巾了,正好500块200毛巾
非要编程的话,来个暴力计算的:
#include <stdio.h>
int main()
{
int a = 25
int b = 60
int c = 100
int tm = 5000
int tt = 200
int ca, cb, cc
int t = 0
for (ca = 0ca <=tt++ca)
{
for (cb = 0cb <=tt++cb)
{
for (cc = 0cc <=tt++cc)
{
if ((ca + cb + cc == tt)&&(ca*a+cb*b+cc*c==tm))
{
printf("小毛巾:%d 中毛巾:%d 大毛巾:%d",ca,cb,cc)
++t
}
}
}
}
printf("\n合计有:%d种方法\n",t)
return 0
}
符合推理
#include<stdio.h>main()
{
int x,n,y
float sum=0.0
printf("请选择: 1.日用品 2.文具 3. 食品\n")
scanf("%d",&x)
switch(x)
{
case 1: printf("请选择:1.牙刷(3.5元/支) 2.牙膏(6.2元支)\n")
printf(" 3.肥皂(2元/块) 4.毛巾(8.6元/条)\n")
scanf("%d",&y)
printf("数量?")
scanf("%d",&n)
switch(y)/*匹配顾客选择的具体商品*/
{
case 1: sum=3.5*n break
case 2: sum=6.2*n break
case 3: sum=2*n break
case 4: sum=8.6*n break
}
break
case 2: printf("请选择:1.笔( 3元/支) 2.笔记本(1.2元/个)\n")
printf(" 3.文件夹(12元/个) 4.文具盒(8.6元/个)\n")
scanf("%c",&y)
printf("数量?")
scanf("%d",&n)
switch(y)
{
case 1: sum=3*nbreak
case 2: sum=1.2*nbreak
case 3: sum=12*nbreak
case 4: sum=8.6*nbreak
}
break
case 3: printf("请选择:1.白糖(3.6元/包) 2.盐(1元/包)\n")
printf(" 3.饼(2元/个) 4.方便面(3.6元/条)\n")
scanf("%c",&y)
printf("数量?")
scanf("%d",&n)
switch(y)
{
case 1: sum=3.6*nbreak
case 2: sum=1*nbreak
case 3: sum=2*nbreak
case 4: sum=3.6*nbreak
}
break
}
printf("总计:%.2f 元\n",sum)
}
简单解释:你用malloc申请一个3平米的房间,房卡是a
你告诉计算机,房间不用了,但是你没有把a还回去,就是没有让a=null
如果房间没有新人来,你还可以用a开门,并且看到你睡过的床、用过的毛巾。
但是很快,房间有新人入住了,但是没有换房卡(也换不了)。这时你用a开门进去,面临的将是很严重的法律问题——内存冲突,程序当掉。
所以说“安全”的程序语言,发现你走了不用房间了,就会自动退房并且把房卡回收掉。而C和C++都不是“安全”的。