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);
}
}
}
}
}