1个回答
展开全部
3只1元,1只0.333元,涉及小数 ,所以要用float 型。
float 型 判断等于条件时,要用math.h 里的 fabs() < 误差要求。
#include<stdio.h>
#include<math.h>
int main()
{
float a,b,c,d,m;
int n,x,y,z;
a=5;b=3;c=1.0,d=3; m=100;n=100;
printf("input a,b,c,d,m,n: 5 3 1 3 100 100\n");
//scanf("%f %f %f %f %f %d",&a,&b,&c,&d,&m,&n);
c=c/d;
for (x=0;x<=m/a;x++)
for (y=0;y<=m/b;y++)
for (z=0;z<=m/c;z++)
if ((x+y+z == n) && fabs(m-x*a-y*b-z*c)<0.001)printf("x=%d y=%d z=%d %g\n",x,y,z,x*a+y*b
+z*c);
return 0;
}
float 型 判断等于条件时,要用math.h 里的 fabs() < 误差要求。
#include<stdio.h>
#include<math.h>
int main()
{
float a,b,c,d,m;
int n,x,y,z;
a=5;b=3;c=1.0,d=3; m=100;n=100;
printf("input a,b,c,d,m,n: 5 3 1 3 100 100\n");
//scanf("%f %f %f %f %f %d",&a,&b,&c,&d,&m,&n);
c=c/d;
for (x=0;x<=m/a;x++)
for (y=0;y<=m/b;y++)
for (z=0;z<=m/c;z++)
if ((x+y+z == n) && fabs(m-x*a-y*b-z*c)<0.001)printf("x=%d y=%d z=%d %g\n",x,y,z,x*a+y*b
+z*c);
return 0;
}
追问
谢谢您,抱歉没看到!!
意法半导体(中国)投资有限公司
2023-06-12 广告
2023-06-12 广告
单片机,即单片微控制器,也称为单片微型计算机,是将中央处理器(CPU)、存储器(ROM,RAM)、输入/输出接口和其他功能部件集成在一块 在一个小块的集成电路上,从而实现对整个电路或系统的数字式控制。单片机不是完成某一个逻辑功能的芯片,而是...
点击进入详情页
本回答由意法半导体(中国)投资有限公司提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询