| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 396 人关注过本帖
标题:求助:购买商品
只看楼主 加入收藏
周1992
Rank: 2
等 级:论坛游民
帖 子:70
专家分:60
注 册:2011-3-18
结帖率:76.92%
收藏
 问题点数:0 回复次数:1 
求助:购买商品
有 3 种商品在 N 个商店出售,同样商品在不同商店的售价各不相同,假定商店名称用数字1、2、3、4、......来表示,商品的名称用A、B、C来表示。

如果按照最先购买商品A、再购买商品B、最后购买商品C的顺序购买商品,且在一个商店只能购买一种商品。请编程设计一个购物方案,用最少的钱购得 3 种商品。
   这是题目。
#include <stdio.h>

typedef struct buy  
{  char  gname;  
   int   sname;  
   int   gprice;  
} BUY;  
  
int main( )  
{  int i, j, n;  
   int min, price[10][3];  
   int findm( int n, int price[][3], BUY scheme[] );  
  
   static BUY scheme[3]={ {'A', 0, 0}, {'B', 0, 0}, {'C', 0, 0} };  
  
   scanf( "%d", &n );  
   for( i = 0; i < n; i++ )  
    for( j = 0; j < 3; j++ )  
       scanf( "%d", &price[i][j] );  
  
   min = findm( n, price, scheme );  
  
   printf("Total Money are : %d\nGoods-Name  Shop-Name  Goods-Price\n", min );  
   for ( i=0; i < 3; i++ )  
       printf("         %c:%10d%13d\n", scheme[i].gname, scheme[i].sname, scheme[i].gprice );  
   return 0;
}
这是前置代码,设定好的。



这是我的程序。
findm( int n, int price[][3], BUY scheme[] )
{  int i,j,k,m,a[3]={-1,-1,-1},min=0,x;
for (k=0;k<3;k++)
 { for (i=0,j=1;j<n;j++)
    {  
        if (price[i][k]>price[j][k])    /* 比较每列的大小,求出最小的列*/
        i=j;
       if (i!=j)   
        { if ((price[i][k]==price[j][k])&&(k<2))    /* 若第一列相同,就比较第二列,取第二列大的*/
            { if (price[i][k+1]<=price[j][k+1])
                         i=j;
              if ((price[i][k+1]==price[j][k+1])&&(k<1));  /* 若第一,二列相同,就比较第三列,取第三列的的*/
                        {  if (price[i][k+2]<price[j][k+2])
                                      i=j;
                        }
            }
        }
    }
   scheme[k].sname=i+1;
     a[k]=i;
   scheme[k].gprice=price[i][k];
 }
 for (m=0;m<3;m++)
    min=scheme[m].gprice+min;
   return (min);
}



举个例子
输入
5                                     输出      Total Money are : 46
12  29  9                                       Goods-Name  Shop-Name  Goods-Price
10  30  8                                                 A:         2           10
11  35  12                                                B:         4           28
10  28  11                                                C:         5            8
12  31  8
搜索更多相关主题的帖子: 编程 购物 include price 
2011-05-15 13:42
周1992
Rank: 2
等 级:论坛游民
帖 子:70
专家分:60
注 册:2011-3-18
收藏
得分:0 
虽然有点长,但请看完。小弟多谢了。
2011-05-15 13:44
快速回复:求助:购买商品
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.033248 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved