c语言买水果
‘壹’ 编写一个c语言程序,求:用40元钱买苹果、梨和西瓜,总数能买100个,已知苹果为0.4元一个,梨0.2元一个,
#include <stdio.h>
main(){
int na,np,nw,n; // 个数,总个数
double va=0.4,vp=0.2,vw=4; // 单价
double v; //总费用
for (na=0;na<=100;na++)
for (np=0;np<=100;np++)
for (nw=0;nw<=100;nw++){
v=na*va+np*vp+nw*vw;
n=na+np+nw;
if (n==100 && v==40.0) //若总个数和总费用符合要求,则输出结果:
printf("Apple=%d Pear=%d Watermel=%d\n",na,np,nw);
}
return 0;
}
结果:
Apple=5 Pear=90 Watermel=5
Apple=24 Pear=72 Watermel=4
Apple=43 Pear=54 Watermel=3
Apple=62 Pear=36 Watermel=2
Apple=81 Pear=18 Watermel=1
Apple=100 Pear=0 Watermel=0
‘贰’ C语言买水果问题
可能是你的时间复杂度太大,看不出什么问题。但是我写的运行出来了。
#include"stdio.h"
voidmain()
{
intp,x,l;//苹果、西瓜、梨的个数
printf("可选方案如下: ");
printf("苹果西瓜梨 ");
for(x=1;x<10;x++)
{
for(p=1;p<100;p++)
{
for(l=1;l<100;l++)
{
if((p+x+l==100)&&((p*0.4+x*4+l*0.2)==40))
{
printf("%d%d%d ",p,x,l);
}
}
}
}
}
‘叁’ c语言编程:求大神解答我哪里错了,一直答案错误。
if(k!=i) {t=a[k];a[k]=a[i];a[i]=t;} 因为t是结构体,不能直接赋值。
写一个swap函数
加一个include
#include <memory.h>
void swap(struct Fruit * l, struct Fruit * r) {
{
struct Fruit t;
memcpy(&t, l, sizeof(struct Fruit));
memcpy(l, r, sizeof(struct Fruit));
memcpy(r, &t, sizeof(struct Fruit));
}
‘肆’ C语言编程经典282例,阳阳买苹果
从你提出的疑问看,思路你也没看懂。
注意程序语句执行的顺序,循环体中money+=0.8*n是花钱的累加和,day++是天数:n*=2是计算下一天买苹果的数量。
初始值n=2,d=0
执行while循环
money+=0.8*n;//第一天花的钱
day++;//1天,看到了吧,买2个苹果是第1天,而不是第0天
n*=2;//这条语句你也写错了。计算第二天买的苹果数量
n<100,继续执行循环
money+=0.8*n;//两天花的钱
day++;//2天
n*=2;//计算第三天买的苹果数量
n<100,继续执行,依次类推。
直到n*=2,n=128,不满足循环条件,退出循环,此时n的值是128没错,可是并没有计入花的钱以及天数。花的钱为5天花钱的总和,天数为5天。
‘伍’ 简单的C语言题目 水果库存题
流程图我就不画了,大致流程:开始-> 定义商店结构变量->调用入库函数录入库存商品信息->循环调用打印商品信息的函数及购买函数,显示库存商品菜单,用户输入购买信息完成购买
->单个水果购买数量不足,购买失败重新选择。
->总水果数量不足,提示关店结束程序。
#include<stdio.h>
#include<string.h>
#definegoodsNum10//商品总类最大个数
structshop
{
chargoodsName[goodsNum][11];
intgoods[goodsNum];
intsum;
}sp;
intgn=0;//实际入库的商品总类个数
voidstorage();//入库函数
voipdateSum();//更新总数
voidprintfGoods();//展示库存信息
intbuy();//购买函数,返回1购买成功,返回0超出商品库存
intmain()
{
storage();
while(1)
{
printfGoods();
if(sp.sum==0)
{
printf("所有水果已售空,关店休息!
");
return0;
}
if(buy())
printf("购买成功!
");
}
return0;
}
voidprintfGoods()
{
inti;
printf("--当前库存信息--
");
printf("编号名称个数个
");
for(i=0;i<gn;i++)
printf("%d、%s%d个
",i+1,sp.goodsName[i],sp.goods[i]);
}
voipdateSum()
{
inti;
sp.sum=0;
for(i=0;i<gn;i++)
sp.sum=sp.sum+sp.goods[i];
}
voidstorage()
{
charname[10];
intn;
printf("--商品入库--
");
while(1)
{
printf("请录入商品%d的名称及个数(名称不超10个字符,输入0结束录入):",gn+1);
scanf("%s",name);
if(name[0]=='0'&&name[1]==0)
break;
scanf("%d",&n);
strcpy(sp.goodsName[gn],name);
sp.goods[gn]=n;
gn++;
}
updateSum();
}
intbuy()
{
intid,n;
printf("请输入要购买的商品编号及数量:
");
scanf("%d%d",&id,&n);
if(n>sp.goods[id-1])
{
printf("购买失败,数量超出库存!
");
return0;
}
sp.goods[id-1]=sp.goods[id-1]-n;
updateSum();
return1;
}
‘陆’ C语言编程:如果梨子一斤3元,橙子一斤2元,香蕉两斤1元。用45元正好买45斤水果
#include<stdio.h>
int main(){
int pear=3;
int org=2;
int ban=0.5;
int i , j , k;//i , j , k分别表示梨、橙子、香蕉的数量(单位斤)
for( i=0; i<45; i++){
for( j=0; j<45; j++){
for( k=0; k<45; k+=2){
if( pear*i + org*j + ban*k == 45 && i+j+k==45){
printf("梨子:%d,橙子:%d,香蕉:%d
" , i , j , k);
}
}
}
}
}