实验要求:
使用Matlab编写程序实现以下功能:
1. 给定一组商品,每一商品包含名称、价格,把商品排序。
要求:
(1) 从文本文件input.txt读入。第一行包含一个数 N,表示商品个数。之后跟着 N 行,每行包含一个字符串(商品名称)和一个数(商品价格)。
(2) 删除价格是3的倍数的商品;
(3) 显示剩余商品的个数 K;
(4) 当数 K 为奇数时,从小到大排列并输出显示;
(5) 当数 K 为偶数时,从大到小排列并输出显示;
(6) 把结果保存到文件 result.txt 。
(7) 自己实现排序功能,不能调用库里的排序函数。
input.txt:
4
苹果 20
香蕉 10
水果 30
铅笔 60
matlab代码:
file_address = 'E:\input.txt';
[name,price] = textread(file_address, '%s %n', 'headerlines', 1);
% 获取三的倍数的下标
delete_index = find(rem(price, 3) == 0);
% 删除这些行
name(delete_index) = [];
price(delete_index) = [];
% 获取剩余的商品数
k = size(name, 1);
% 当剩余为奇数时
if rem(k, 2) ~= 0
for i = k-1 : -1 : 1
for j = 1 : i
% 冒泡排序
if price(j, 1) > price(j + 1, 1)
m = price(j, 1);
price(j,1) = price