1樓:
程式正在編輯
至於方法先告訴你
每一次刪一第一個起伏點
如15621
1~6都是增加
突然出現了2,也就是減少了
這時我們便把6刪除
var s:string;
n,j,i:integer;
ch:char;
ok:boolean;
begin
s:='';
read(ch);
while ch<>' ' do begins:=s+ch;
read(ch);
end;
readln(n);
for i:=1 to n do beginok:=false;
for j:=1 to length(s)-1 do beginif s[j]>s[j+1] then beginok:=true;
break;
end;
end;
if ok=false then j:=length(s);
delete(s,j,1);
end;
writeln(s);
end.
我的這個程式比較高階,不需要輸入該數為幾位數只需要直接輸入這個數,然後按空格(回車不行!),再輸入刪除多少個數就可以了!
但是問題還是不可能改變的
所以你的問題對應的正確程式應是:
var s:string;
n,j,x,i:integer;
ch:char;
ok:boolean;
begin
read(x,n);
s:='';
read(s);
while length(s)<>x do begins:=s+ch;
read(ch);
end;
for i:=1 to n do beginok:=false;
for j:=1 to length(s)-1 do beginif s[j]>s[j+1] then beginok:=true;
break;
end;
end;
if ok=false then j:=length(s);
delete(s,j,1);
end;
writeln(s);
end.
2樓:小肥羊
program project1;
vara,t:array[1..100]of char;
n,k,i,j:integer;
begin
readln(n,k);
for i:=1 to n do
t[i]:='0';
for i:=1 to n do
begin
read(a[i]);
if a[i]>t[k] then
begin
for j:=1 to k-1 do
t[j]:=t[j+1];
t[k]:=a[i];
end;
end;
for i:=1 to n do
for j:=1 to k do
if a[i]=t[j]then a[i]:='d';
for i:=1 to n do
if a[i]<>'d' then write(a[i]);
end.
選我!!!!!!
pascal簡單問題,pascal簡單問題一個。!
1.program aaa const eps 1e 7 varx,t,s real n integer begin read x n 1 t x s x repeat n n 2 t t x x n 1 n s s t until abs t writeln s end.2.program bbb...
pascal問題 5,pascal問題
pascal問題 它是下標變數,a是陣列名,i是下標。如要真正了解,需學習陣列型別。陣列的第i個元素 如 var a array 1.5 of integer begina 1 3 a 2 4 a 3 8 a 4 6 a 5 5 write a 3 end.就會輸出陣列a中的第3個元素8 陣列中的第...
PASCAL程式設計問題
因為機器上沒有安裝pascal,所以用delphi的控制檯來實現。62616964757a686964616fe78988e69d8331333330346531 var i,j longint r,s,t string temp char begin readln r readln s t s f...