C++ C语言程序设计 邮资计算设计一个邮资计算程序.已知某邮局邮寄的基本运费为20元(含5000g),重量超出部分的收费(每1000克)如下:\x055000以内\x058000以内\x058000以上北京\x050.8\x051.0\x051.2上

来源:学生作业帮助网 编辑:作业帮 时间:2024/11/19 21:45:32
C++ C语言程序设计 邮资计算设计一个邮资计算程序.已知某邮局邮寄的基本运费为20元(含5000g),重量超出部分的收费(每1000克)如下:\x055000以内\x058000以内\x058000以上北京\x050.8\x051.0\x051.2上
xV]OY+M 0`1ǽ7[/vТmbL 2(*f?؊ew_9g+B3gZ4{I12gyGxzDZeZG݅>+LjSV,o29ȃvSEU:P Ӌ7 8eu3̺~ƙVw%#HR_W&,v=B4.4}ۛ\ƹ-U6w>>=i|hۉ0_ao;'3\|`!3~U?k6KGeƔO?~N Q]9KV 5Q .cb@ĭMM >V ̑b.\l H;2#ae0t)FsybHԂXz (Ćka~HMЧ6 N7ԫ :; Zb|kJRE ۓ*+\ؠ-\W8CAgAV {l="Kz*VNju&.-6 +kؐBo9sO[zUHPKy۸3.ojڙT-aa { 8gʍ zuHޔH1K^vw@/8~Z@\W+#ked pޠa7E!@UH; >څ1*/}Dyw 5-%DxtrVs8'|")JS'IaxxA;>)It< KqņQE0"H" b(&PB3w F:iD4wo9A(rn3Ԍ%!3!XxnO2 #Dh'B|RPEo$Z S4NB H`N TQT iT{2DK07V/?TѩxRxeD}2Dֆ}XcT1AXO1W3'tvcvIzBO$4pwQ&c}7//&>]fUc0i^8f =GeB6;XnNpT%c O$,o` jSD~m;*_fbwM9+ S(n'zs

C++ C语言程序设计 邮资计算设计一个邮资计算程序.已知某邮局邮寄的基本运费为20元(含5000g),重量超出部分的收费(每1000克)如下:\x055000以内\x058000以内\x058000以上北京\x050.8\x051.0\x051.2上
C++ C语言程序设计 邮资计算
设计一个邮资计算程序.已知某邮局邮寄的基本运费为20元(含5000g),重量超出部分的收费(每1000克)如下:
\x055000以内\x058000以内\x058000以上
北京\x050.8\x051.0\x051.2
上海\x051.0\x051.2\x051.4
深圳\x051.2\x051.4\x051.6
不足1000克的按1000克计算.要求用户选择目的地和输入邮寄的重量后,计算出用户应付的邮资.
例如,用户希望将11020克的包裹寄往北京,则邮资为20+0.8*5+1.0*2=26元.其中20元为基本运费,超重6020克,因此5000克按照0.8元/千克收费,1020克按照1.0元/千克收费.
具体过程为:
1.\x05输出地址列表,要求用户选择目的地;
2.\x05输出“当前目的地为xxxx,正确?(Y/N)”,如果用户输入Y,转到第3步,否则返回第1步;
3.\x05要求用户输入重量;
4.\x05输出“重量为xxxx,正确?(Y/N)”,如果用户输入Y,转到第5步,否则返回第3步;
5.\x05输出下面的信息
目的地:\x05\x05重量(g):\x05
基本运费:\x05\x05附加运费:\x05
总计:

C++ C语言程序设计 邮资计算设计一个邮资计算程序.已知某邮局邮寄的基本运费为20元(含5000g),重量超出部分的收费(每1000克)如下:\x055000以内\x058000以内\x058000以上北京\x050.8\x051.0\x051.2上
首先num[0]=0你没有排除;其次后边你直接排序是排不出结果的,因为里面有很多重复值.我给你重写了程序.
#include <stdio.h>
int num[9999];
void main()
{
int a,b,c,d,ia,ib,ic,id,i=0,j,t,k,s=0;
printf("请输入邮票面值:");
scanf ("%d%d%d%d",&a,&b,&c,&d);
for (ia=0;ia<=5;ia++) //所有结果(包含重复值)
{
for (ib=0;ib<=5;ib++)
{
for (ic=0;ic<=5;ic++)
{
for (id=0;id<=5;id++)
{
if (ia+ib+ic+id<=5&&ia+ib+ic+id>=1)
{
num[i]=a*ia+b*ib+c*ic+d*id;
i++;}
}
}
}
}
int count=i;
for(i=0;i<count;i++){ //去除重复结果
j=i+1;
while(j<count){
if(num[j]==num[i])
{
for(t=j;t<count-1;t++)
count--; }
else
}
}
while(s<count-1) //把结果从小到大排序
{for(j=0;j<count-1;j++){ //一次排序,把最大值放在队尾
if(num[j]>num[j+1]){
k=num[j];
num[j]=num[j+1];
num[j+1]=k;
}
}
s++;
}
printf("所构成的邮资是:");
for(i=0;i<count;i++) //输出结果
printf("%d,",num[i]);
printf("\n");
}