#include<stdio.h>
int main() {
int num = 0;//要买的铅笔数量
int outlook[3] = { 0 };//三种包装
int innum[3] = { 0 };//三种容量
int price[3] = { 0 };//定义一个数组存放三种价格 然后输出最小的那个
//先输入容量 后输入包装价格
scanf("%d", &num);//输入要买的容量
for (int i = 0; i < 3; i++) {//输入三种类型要输入的数据
scanf("%d %d", &innum[i], &outlook[i]);
int temp;
if (num % innum[i] == 0) {
temp = num / innum[i];
}
else {
temp = num / innum[i] + 1;
}
price[i] = temp * outlook[i];//需要的最终价格
}
int min = 100000000;
for (int i = 0; i < 3; i++) {
if (price[i] < min) {
min = price[i];
}
}
printf("%d", min);
return 0;
}
用结构体优化之后:
#include<stdio.h>
struct ci {
int outlook;//包装费
int innum;//容量
int fina_price;//最终价格
}q[3];
int main() {
int num = 0;
int min = 100000000;//数据要大一点
//先输入容量 后输入包装价格
scanf_s("%d", &num);//输入要买的容量
for (int i = 0; i < 3; i++) {//输入三种类型要输入的数据
scanf_s("%d %d", &q[i].innum, &q[i].outlook);
int temp;
if (num % q[i].innum == 0) {
temp = num / q[i].innum;//能整除 就买整个数的
}
else {
temp = num / q[i].innum + 1;//不能整除 就要多一个
}
q[i].fina_price = temp * q[i].outlook;//需要的最终价格
if (q[i].fina_price < min) {
min = q[i].fina_price;
}
}
printf("%d", min);
return 0;
}
原题:
