free pascal编程:给出n个数,你要将这n个数从小到大排序输出,源程序如下,
来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/06/07 16:03:54
free pascal编程:给出n个数,你要将这n个数从小到大排序输出,源程序如下,
var
a:array[1..10] of longint;
i,j,t,n:longint;
begin
readln(n);
for i:=1 to n do
read(a[i]);
for i:=1 to n-1 do
for j:=i+1 to n do
begin
if a[i]>a[j] then
begin
t:=a[j]; a[j]:=a[i]; a[i]:=t;
end;
end;
for i:=1 to n do
writeln(a[i]);
end.下面有段话,其实该程序还可以进一步优化,再为第i位选择一个最大的数时,可以在[i,n]范围内先选好最大的数,最后进行一次交换,这样减少了很多交换次数.,什么在为第i为选择一个最大得数啊?还再[i,n]先选好,.
var
a:array[1..10] of longint;
i,j,t,n:longint;
begin
readln(n);
for i:=1 to n do
read(a[i]);
for i:=1 to n-1 do
for j:=i+1 to n do
begin
if a[i]>a[j] then
begin
t:=a[j]; a[j]:=a[i]; a[i]:=t;
end;
end;
for i:=1 to n do
writeln(a[i]);
end.下面有段话,其实该程序还可以进一步优化,再为第i位选择一个最大的数时,可以在[i,n]范围内先选好最大的数,最后进行一次交换,这样减少了很多交换次数.,什么在为第i为选择一个最大得数啊?还再[i,n]先选好,.
var
a:array[1..10] of longint;
i,j,t,n:longint;
max:longint; {增加一个临时变量,用其保存最大的序号}
begin
readln(n);
for i:=1 to n do
read(a[i]);
for i:=1 to n-1 do begin
max:=i; {先假设下标为i的元素为最大}
for j:=i+1 to n do if a[j]>a[max] then max:=j; {如果找到比假设大的,记下它的下标}
if maxi then {只有当循环后的max不等于i时才交换}
begin
t:=a[i]; a[i]:=a[max]; a[max]:=t;
end;
end;
for i:=1 to n do
writeln(a[i]);
end.
再问: 你这个明显错了啊!
再答: 哦,那对的呢?
再问: 额😓
再问: 我的原程序就是对的罗
再答: {先假设下标为i的元素为最大}这个注释的大括号为全角的,应改为半角: {先假设下标为i的元素为最大}
再问: 那您可以再写一遍吗?
再答: var
a:array[1..10] of longint;
i,j,t,n:longint;
max:longint;
begin
readln(n);
for i:=1 to n do read(a[i]);
for i:=1 to n-1 do begin
max:=i;
for j:=i+1 to n do if a[j]>a[max] then max:=j;
if maxi then begin
t:=a[i]; a[i]:=a[max]; a[max]:=t;
end;
end;
for i:=1 to n do writeln(a[i]);
end.
a:array[1..10] of longint;
i,j,t,n:longint;
max:longint; {增加一个临时变量,用其保存最大的序号}
begin
readln(n);
for i:=1 to n do
read(a[i]);
for i:=1 to n-1 do begin
max:=i; {先假设下标为i的元素为最大}
for j:=i+1 to n do if a[j]>a[max] then max:=j; {如果找到比假设大的,记下它的下标}
if maxi then {只有当循环后的max不等于i时才交换}
begin
t:=a[i]; a[i]:=a[max]; a[max]:=t;
end;
end;
for i:=1 to n do
writeln(a[i]);
end.
再问: 你这个明显错了啊!
再答: 哦,那对的呢?
再问: 额😓
再问: 我的原程序就是对的罗
再答: {先假设下标为i的元素为最大}这个注释的大括号为全角的,应改为半角: {先假设下标为i的元素为最大}
再问: 那您可以再写一遍吗?
再答: var
a:array[1..10] of longint;
i,j,t,n:longint;
max:longint;
begin
readln(n);
for i:=1 to n do read(a[i]);
for i:=1 to n-1 do begin
max:=i;
for j:=i+1 to n do if a[j]>a[max] then max:=j;
if maxi then begin
t:=a[i]; a[i]:=a[max]; a[max]:=t;
end;
end;
for i:=1 to n do writeln(a[i]);
end.
用pascal语言编程:输出n(n
c语言数组编程,输入n个整数,将这n个数按绝对值由大到小排序输出
pascal,从n个数中选择m个数,输出每一种组合,并统计总的个数
急求free pascal高手编程:蛇形填数,在n*n的格子中,按如下方式填数.
Pascal编程:读入N个数,打印其中的最大数及其位置号
pascal语言:输入n个数,并输出最大的数和最小的数
求一pascal程序,给出一个整数n,其中n小于等于10000,请统计n的因数的个数.
pascal编程给出一个n,求前n个奇数的总和 输入 一行,一个整数n 输出 一行,表示总和
pascal中输入n个一位数再输入s,用n个数组成n位数(数不可重复),从大到小排列后,输出第s个数
pascal题:求N个数的和,给出一个正整数N,可求出从1开始的这N个数的全部各个数位上的数字之和.
pascal编程 输入n个整数,找出最大数所在的位置,并将它与第一个数对调
给出一个整数n,让你判断n是否是素数,如果n是素数,则输出 yes 否则输出 no 用pascal语言做题