自己前段时间写了一个实用小程序,记录一下,欢迎指导交流。
程序介绍:当多人拼单时,依据各人预支付金额比例,计算出各人需支付服务费以及享受的优惠金额,最终得出各人实际支付金额。现在美团小程序上已经有了拼单功能,我的与它的算法应该是一致的。
#include <stdio.h>
#include <stdlib.h>
#include <malloc.h>
#include<windows.h>
int main()
{
int i,num=0; //定义所需各变量
float *money;
float *actual_payment;
float fee;
float discount;
float total=0;
printf("请输入总人数:\n");
scanf("%d",&num);
money=new float;
actual_payment=new float;
printf("请输入每个人应付金额:\n");
for(i=0;i<num;i++) //计算预支付总金额
{
scanf("%f",money+i);
total+=*(money+i);
}
printf("请输入总服务费\n");
scanf("%f",&fee);
printf("请输入优惠金额\n");
scanf("%f",&discount);
for(i=0;i<num;i++) //最终计算,实际支付总金额/预支付总金额*个人预支付金额
{
*actual_payment=(total+fee-discount)/total*(*(money+i));
printf("第%d个人实际付款%.2f元\n",i+1,*actual_payment); //此处根据实际意义保留两位小数
}
free(money);
free(actual_payment);
system("pause");
return 0;
}
后续可能会有改进,欢迎批评指导。