急~~~一道PASCAL程序题~~~诶,人在江湖飘,谁能不挨刀~~~

来源:百度知道 编辑:UC知道 时间:2024/06/29 23:15:18
虽然有点鸡婆,但事先申明我是初学者。各位高手请帮忙了~~~有点急啊~~~人在江湖飘,谁能不挨刀~~~

已知一个表格的两列数组,为13个月的a和b的值
a b
2008-09 4.6 9.1
2008-08 4.9 10.1
2008-07 6.3 10.0
2008-06 7.1 8.8
2008-05 7.7 8.2
2008-04 8.5 8.1
2008-03 8.3 8.0
2008-02 8.7 6.6
2008-01 7.1 6.1
2007-12 6.5 5.4
2007-11 6.9 4.6
2007-10 6.5 3.2
2007-09 6.2 2.7

在所有a>b的月份中找出差距最大的月份

看完的高手请尽快回复,谢谢~~~
PS请尽量用WORD先注明流程图,再用简明的方法用PASCAL做(呼应开头,我是只菜鸟啊~~~)
应是先输入数组变量,得出a>b的月份再存入另一个数组变量中去,再用冒泡排序,找出a-b的最大值,再输出相应的月份,如"200709".我的想法是这样,不知是否妥当?该怎样写流程图,并编程呢?

谢谢大家能耐心地看完我的补充说明~~~

221.198.152.*的太复杂了,偶是初学者的说~~~

先定义二个1..13的数组OF STRING,存放月份;四个数组放ab
判断a是否大于b,如果是把差值放入另一个数组,
冒泡排序时用if判断大小begin end套住,里面别忘了把月份赋给另一个字符数组,最后输出,够详细了吧,只是没有流程图。
程序:
program a1;
var
m1,m2:array[1..13]of string; {存放月份}
a,b,c:array[1..13]of real;
i,integer;
t:real;
begin
for i:=1 to 13 do
begin
readln(m1[i]);read(a[i]);read(b[i]); {输入数据}
end;
for i:=1 to 13 do
if a[i]>b[i] then
c[i]:=a[i]-b[i]; {判断a是否大于b,实则把他们的差放入c数组}
t:=c[1];
for i:=2 to 13 do
if c[i]>t then begin t:=c[i]; m2[i]:=m1[i] end; {冒泡排序}
writeln(m1[i]); {输出}
end.
我用的是free pascal CXP版,检查错误就是别的原因了。
给个分吧!

有点病啊你,这也不知道。告诉你吧是..................................其实我也是初学者。(*^__^*) 嘻嘻……O(∩_∩)O~o(╯□╰)o(⊙o⊙)哦( ⊙ o ⊙ )啊!~\(≥▽≤)/~啦啦啦(⊙o⊙)?の$_$↑(⊙o⊙∑↓咕~~(╯﹏╰)bma①

自定义一个record包括月份,a-b大小,存入List用QkSortEx排序就行,QkSortEx的具体代码可以在网上找

先定义二个1..13的数组OF STRING,存放月份;四个数组放ab
判断a是否大于b,如果是把差值放入另一个数组,
冒泡排序时用