#include<stdlib.h>
#include<stdio.h>
const int N=10;
struct goods{
int v;
int no;
};
void selectsort(goods a[]){
for(int i=0;i<N;i++)
for(int j=i;j<N;j++)
if(a[i].v<a[j].v){
goods x;
x=a[i];
a[i]=a[j];
a[j]=x;
}
}
int main(){
int value = 0;
goods a[N];
for(int i = 0;i < N;i ++){
a[i].no = i;
a[i].v = rand()%10;
printf("商品编号为%d商品价值为:%d\n",a[i].no,a[i].v);
}
selectsort(a);
printf("排序后:\n");
for(int i = 0;i < N;i ++){
printf("商品编号为:%d商品价值为:%d\n" ,a[i].no,a[i].v) ;
}
for(int i = 0; i<N-1;i= i + 2){
value += a[i].v;
printf("买商品的编号为:%d搭配商品的编号为:%d\n",a[i].no,a[i+1].no) ;
}
printf("最小付费额为%d",value);
return 0;
}
设小明购买了n件商品,商品i的价格为Vi,1≤i≤n。现在商店推出打折服务,任意购买一件商品可赠送意见等值或更低价值商品。应如何选择付费商品和赠送商品的搭配才能使总付费额达到最小?
于 2022-11-12 17:14:46 首次发布