問題是這樣的:
如果您今天去超市買5樣商品,價格100元以下的商品不打折,100~200的商品打9折
,200~300的商品打8折,300~400的打7折,400~500打6折,500以上的打5 折,請寫出一個程式可以分別輸入這五樣商品的價格並算出總數(至小數第二位)。
螢幕輸出如下:
please enter 5 prices :
50 180 267 393 580
The summary is 990.70
然後我寫起來是這樣,但不知道有什麼問題...
#include <stdio.h>
#include <stdlib.h>
int main()
{
int p;
float a=0.5;
float b=0.7;
float c=0.8;
float d=0.9;
float e=pa;
float f=pb;
float g=pc;
float h=pd;
int count=0,count1=0,count2=0,count3=0,count4=0,count5=0;
here:
printf("請輸入價格:");
scanf("%d",&p);
count++;
if(p>500)
{
printf("價格為%.2f\n",e);
count1++;
}
else if (p>300)
{
printf("價格為%.2f\n",f);
count2++;
}
else if (p>200)
{
printf("價格為%.2f\n",g);
count3++;
}
else if (p>100)
{
printf("價格為%.2f\n",h);
count4++;
}
else
{printf("價格為%d\n",p);
count5++;
}
if (count < 5)goto here;
printf("已輸入5個價格\n\n");
}
請用</>
按鈕將程式碼「包」起來如下
才不會有*
被「吃」掉的情形
程式修改如下
#include <stdio.h>
#include <stdlib.h>
int main()
{
int p;
float a=0.5;
float b=0.7;
float c=0.8;
float d=0.9;
//float e=p*a;
//float f=p*b;
//float g=p*c;
//float h=p*d;
int count=0,count1=0,count2=0,count3=0,count4=0,count5=0;
here:
printf("請輸入價格:");
scanf("%d",&p);
count++;
if(p>500)
{
printf("價格為%.2f\n",p*a);
count1++;
}
else if (p>300)
{
printf("價格為%.2f\n",p*b);
count2++;
}
else if (p>200)
{
printf("價格為%.2f\n",p*c);
count3++;
}
else if (p>100)
{
printf("價格為%.2f\n",p*d);
count4++;
}
else
{printf("價格為%d\n",p);
count5++;
}
if (count < 5)goto here;
printf("已輸入5個價格\n\n");
}
那如果加上總價的話是這樣子嗎?
#include <stdio.h>
#include <stdlib.h>
int main()
{
int p;
float a=0.5;
float b=0.7;
float c=0.8;
float d=0.9;
//float e=pa;
//float f=pb;
//float g=pc;
//float h=pd;
int count=0,count1=0,count2=0,count3=0,count4=0,count5=0;
//float i=e+f+g+h;
here:
printf("請輸入價格:");
scanf("%d",&p);
count++;
if(p>500)
{
printf("價格為%.2f\n",pa);
count1++;
}
else if (p>300)
{
printf("價格為%.2f\n",pb);
count2++;
}
else if (p>200)
{
printf("價格為%.2f\n",pc);
count3++;
}
else if (p>100)
{
printf("價格為%.2f\n",pd);
count4++;
}
else
{printf("價格為%d\n",p);
count5++;
}
if (count < 5)goto here;
printf("已輸入5個價格\n\n");
printf("總價格為%.2f\n",i);
}
少了兩個步驟
1.i 要先宣告(類似 count)
2.要在每個計算折扣價格之後, 把值加給 i,例;i=i+p*a;
了解,謝謝大神,我昨天有寫出來了