请大婶们用 C数据结构编程,答案正确就好,不问怎么来,复制啊随便,答案完全正确再追加50分 50
做明智的消费者。问题描述学校里面有很多超市,但是有的商品在这个超市里便宜些,有的商品在另一个超市里便宜些。周末大购物的时候,超超想从1号超市逛到n号超市,然后把该买的东西...
做明智的消费者。
问题描述
学校里面有很多超市,但是有的商品在这个超市里便宜些,有的商品在另一个超市里便宜些。周末大购物的时候,超超想从1号超市逛到n号超市,然后把该买的东西(从1到m编号)都用最便宜的价格买到,你的任务是帮帮他决定在哪个超市应该买什么商品。
输入格式
输入数据第一行是两个数n m,表示有n个超市和m个该买的商品。(1<=n<=50 1<=m<=100)
接下来是nXm的矩阵Aij,其中第i行第j列表示i号超市中j商品的价格(小于100的非负整数),Aij=0则表示j商品无法在i超市找到。输入数据不能保证能买到所有商品。
输出格式
输出仅一行,包括m个数B1,B2 .. .Bm,依次表示第i号商品该在Bi号超市中购买。如果买不到的话Bi为0。
当然啦,如果一个商品在i号超市与j号超市购买一样便宜,超超更乐意大号超市了。嘻嘻,有兴趣的话猜猜为什么。
样例输入
3 6
5 3 0 2 3 5
8 9 0 2 0 2
3 4 0 2 1 3
样例输出
3 1 0 3 3 2
时间紧迫,只要答案正确,小号分全给加上大号再送300分,QQ190209478 展开
问题描述
学校里面有很多超市,但是有的商品在这个超市里便宜些,有的商品在另一个超市里便宜些。周末大购物的时候,超超想从1号超市逛到n号超市,然后把该买的东西(从1到m编号)都用最便宜的价格买到,你的任务是帮帮他决定在哪个超市应该买什么商品。
输入格式
输入数据第一行是两个数n m,表示有n个超市和m个该买的商品。(1<=n<=50 1<=m<=100)
接下来是nXm的矩阵Aij,其中第i行第j列表示i号超市中j商品的价格(小于100的非负整数),Aij=0则表示j商品无法在i超市找到。输入数据不能保证能买到所有商品。
输出格式
输出仅一行,包括m个数B1,B2 .. .Bm,依次表示第i号商品该在Bi号超市中购买。如果买不到的话Bi为0。
当然啦,如果一个商品在i号超市与j号超市购买一样便宜,超超更乐意大号超市了。嘻嘻,有兴趣的话猜猜为什么。
样例输入
3 6
5 3 0 2 3 5
8 9 0 2 0 2
3 4 0 2 1 3
样例输出
3 1 0 3 3 2
时间紧迫,只要答案正确,小号分全给加上大号再送300分,QQ190209478 展开
2个回答
展开全部
你好,下面是程序,记得多氏斗给分哦消核哪,有问题hi我吧。
#include <stdio.h>
int main() {
int m, n, a[51][101], i, j, res[101];
scanf("%d%d", &n, &m);
for(i=1; i<=n; i++) { //输入数据
for(j=1; j<=m; j++) {
scanf("%d", &a[i][j]);
}
}
//初始化res数组,res[i]=0表示第i样拿码商品无法购买到。
for(i=1; i<=m; i++)
res[i] = 0;
for(i=1; i<=n; i++) {
for(j=1; j<=m; j++) {
if (a[i][j] != 0) {
if(res[j]==0 || (res[j]!=0 && a[res[j]][j] >= a[i][j]) )
res[j] = i;
}
}
}
if(j>=1) printf("%d", res[1]);
for(j=2; j<=m; j++)
printf(" %d", res[j]);
printf("\n");
return 0;
}
#include <stdio.h>
int main() {
int m, n, a[51][101], i, j, res[101];
scanf("%d%d", &n, &m);
for(i=1; i<=n; i++) { //输入数据
for(j=1; j<=m; j++) {
scanf("%d", &a[i][j]);
}
}
//初始化res数组,res[i]=0表示第i样拿码商品无法购买到。
for(i=1; i<=m; i++)
res[i] = 0;
for(i=1; i<=n; i++) {
for(j=1; j<=m; j++) {
if (a[i][j] != 0) {
if(res[j]==0 || (res[j]!=0 && a[res[j]][j] >= a[i][j]) )
res[j] = i;
}
}
}
if(j>=1) printf("%d", res[1]);
for(j=2; j<=m; j++)
printf(" %d", res[j]);
printf("\n");
return 0;
}
更多追问追答
追问
我要的是用数据结构编程,麻烦您再找找
追答
你想要什么数据结构呢?这题太简单了,用很简单的方法就解决了。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询