用户输入:邮件的重量,以及是否加快 计算规则:重量在1克以内(包括1克), 基本费0.8元。超过1克的部分,按照0.5元/克的比例加收超重费。如果用户选择加快,多收2元。c语言怎么写
时间: 2024-10-18 17:05:14 浏览: 13
埃氏筛法0.8秒搜寻1亿以内素数并统计个数
在C语言中,你可以使用结构体来表示邮件的信息,并编写函数来计算费用。首先,定义一个包含重量和快递速度选项的结构体:
```c
typedef struct {
float weight;
int is_fast_delivery;
} MailInfo;
```
接下来,编写一个函数来计算费用:
```c
float calculate_fee(MailInfo mail) {
float basic_fee = (mail.weight <= 1.0f) ? 0.8 : 0.8 + (mail.weight - 1.0f) * 0.5; // 计算基本费用
if (mail.is_fast_delivery) { // 加快费用
return basic_fee + 2.0;
} else {
return basic_fee;
}
}
```
最后,你可以创建`MailInfo`实例并调用这个函数:
```c
int main() {
float weight;
int fast_delivery_choice;
printf("请输入邮件重量(单位:克): ");
scanf("%f", &weight);
printf("请选择是否加快快递服务(1表示加快,其他表示普通): ");
scanf("%d", &fast_delivery_choice);
MailInfo mail = {weight, fast_delivery_choice == 1};
float fee = calculate_fee(mail);
printf("邮件费用为: %.2f元\n", fee); // 打印费用结果
return 0;
}
```
阅读全文