Pascal 讓計算機輸出 n 個數字,使用者輸出這些數字的最大數量。

發布 科技 2024-05-20
9個回答
  1. 匿名使用者2024-02-11

    var n,max:longint;

    beginmax:=-maxlongint;

    for i:=1 to n do

    if n>max then max:=n;

    writeln(max);

    end.這是最基本的方法。

  2. 匿名使用者2024-02-10

    program p1;

    type node=record 這是記錄型別,number 是序號,data 是資料。

    number:integer;

    data:integer;

    end;var a:array[1..1000] of node;

    i,j,n:integer;

    procedure qsort(h,t:integer);這是快速排序部分。

    var i,j,x,y:integer;

    begini:=h;

    j:=t;x:=a[(i+j) mod 2].data;

    while i<=j do

    beginwhile a[i].datax do dec(j);

    if ih+1 then qsort(h,t-1);

    end;開始主程式。

    fillchar(a,sizeof(a),0);

    readln(n);

    for i:=1 to n do

    beginread(a[i].data);

    a[i].number:=i;

    end;write(a[n].number,' ');

    for i:=n-1 downto 1 do

    if a[i].data<>a[n].data then break

    else write(a[i].number,' ');

    end.思路:在輸入資料時新增序號字段,在對資料進行排序的同時也帶上序號,因為它是按公升序排列的,所以需要從陣列的末尾開始,從後到前掃瞄,遇到與最大資料相同的資料時輸出序列號,遇到第乙個不同的資料時跳出, 類似於搜尋的修剪思路。這裡使用的知識是快速排序和基於記錄的資料(陣列,你會的)。

    祝你OI成功!

  3. 匿名使用者2024-02-09

    program maxs;

    varn,i,max:longint;

    a:array[1..1000] of longint;您可以決定陣列的大小。

    beginreadln(n);

    for i:=1 to n do

    beginread(a[i]);

    if a[i]>max then max:=a[i];

    end;閱讀並找出最大值。

    for i:=1 to n do

    if a[i]=max then write(i,' ');使用 for 迴圈掃瞄它,如果 a[i] 是最大值,則輸出。

    writeln;

    end.

  4. 匿名使用者2024-02-08

    這很簡單,找到最大值,然後找到輸出 i,如果第 i 個值是最大值

  5. 匿名使用者2024-02-07

    vari,n,m,max,min:longint;

    beginreadln(n);

    max:=-maxlongint;

    min:=maxlonint;初始化。

    for i:=1 to n do

    beginreadln(m);輸入乙個數字,迴圈 n 次,如果 m>max 則 max:=m;

    如果 mwriteln(max) 最大值;

    writeln(min);最小。

  6. 匿名使用者2024-02-06

    vari,n,max,min:integer;

    a:array[1..100]of integer;

    beginreadln(n);輸入 n

    max:=-maxint+1;初始化。

    min:=maxint;初始化。

    for i:=1 to n do

    beginread(a[i]);讀入每個數字。

    if a[i]>max then max:=a[i];如果該數字大於 max,則為 max 分配乙個值

    if a[i]end;

    writeln(max,' ',min);輸出端

  7. 匿名使用者2024-02-05

    首先,讓我們談談隨機函式。

    random 生成乙個介於 0 和 1 之間的隨機數(不會取 1)。

    random(x) 後跟引數 x(整數)表示生成乙個介於 0 x 之間的隨機數(不會取 x)。

    隨機化隨機函式切換,每次設定隨機數時都會將其放在首位。

    const maxnum=100;其中 maxnum 表示要隨機生成的數字的大小,請參見上文。

    var i,max,min,sum:integer;其中 i 是迴圈變數,max 是最大值,min 是最小值,sum 是總和。

    a:array[1..10]of integer;乙個包含 10 個單元格的陣列,用於儲存值。

    beginrandomize;開啟隨機開關。

    for i:=1 to 10 do begin a[i]:=random(maxnum); sum:=sum+a[i];end;

    將陣列中的 10 個單元格指定為隨機數,並將 s 用於求和。

    for i:=1 to 10 do write(a[i],'逐個輸出。

    writeln;

    writeln(sum/10:0:2);計算平均值和輸出(保留小數點後兩位)。

    max:=-maxint;min:=maxint;32767 的 maxint 初始化 maxint 是 pascal 預設的常量。

    對於 i:=1 到 10 開始遍歷陣列以查詢最大值和最小值。

    if a[i]>max then max:=a[i];

    if a[i]end;writeln(max,' min);輸出最大值 最小值。

    end.如果還有什麼你不知道該怎麼問的。

  8. 匿名使用者2024-02-04

    program exam;

    var n,i,max:longint;

    a:array[1..100000] of longint;

    beginwhile not eof do

    beginreadln(n);

    max:=0-maxlongint;

    for i:=1 to n do beginread(a[i]);

    if a[i]>max then max:=a[i];

    end;readln;

    writeln(max);

    end;end.

    簡單的戰鬥。

    資料範圍在所有數字longint的範圍內,如果n小於100,000,則自己更改是不夠的。

  9. 匿名使用者2024-02-03

    varl,i,j,t:longint;

    a:array[1..1000]of longint;

    beginwhile not eoln do

    begininc(l);

    read(a[l]);

    end;for i:=1 to l-1 do

    for j:=i+1 to l do

    if a[i]writeln(l,' ',a[1]);

    end.簡單。

    無需輸入 n

    輸入變數

    l,i,j,t,n:longint;

    a:array[1..1000]of longint;

    beginreadln(n);

    while not eoln do

    begininc(l);

    read(a[l]);

    end;for i:=1 to l-1 do

    for j:=i+1 to l do

    if a[i]writeln(l,' ',a[1]);

    end.

相關回答
5個回答2024-05-20

只需使用陣列即可。

var a:array[1..1000]of longint; >>>More

4個回答2024-05-20

varn,i,j:integer;

beginreadln(n); >>>More

6個回答2024-05-20

**天賦雙** 專精 指出斧頭和錘子專精 主手拿著BT1號的高潮 副手拿著暴徒掉落的迅捷鋼錘 具體來說,去魔獸戰士找相關崗位。 >>>More