pascal 程序信息学(计算机)试题(Pascal语言)考试时间:2013年5月17日——————————————————————————————————说明:1.试卷1~3题每题100分,总共300分;2.评
pascal 程序信息学(计算机)试题(Pascal语言)考试时间:2013年5月17日——————————————————————————————————说明:1.试卷1~3题每题100分,总共300分;2.评
pascal 程序
信息学(计算机)试题
(Pascal语言)
考试时间:2013年5月17日
——————————————————————————————————
说明:1.试卷1~3题每题100分,总共300分;
2.评分标准:运行程序,输入测试数据,才能得分;
2.请在E:\盘建立好个人文件夹(用你的姓名作为文件夹名称),每做完一题,应及时用“T+题号”(例如“T1.pas”、“T2.pas”分别表示第一、二题)作文件名存入个人文件夹中.
第一题
(100分存盘程序名:T1)
【问题描述】
1,3,3,3,5,5,5,5,5,7,7,7,7,7,7,7,9,9,9…...求数列第n项是多少?
【样例输入1】
3
【样例输出1】
3
【样例输入2】
15
【样例输出2】
7
第二题
(100分存盘程序名:T2)
【问题描述】
2.10、有N个人围坐在圆桌周围,座号依次为1……N,从1号开始报数,数到M的人便退出,从下一个人起重新报数,数到M的人也退出,不断进行下去直到最后一个人退出,编程打印出依次退出的人的座号.(N、M由键盘输入)
【样例输入1】
10 5
【样例输出1】
5 10 6 2 9 8 1 4 7 3
第三题
(100分存盘程序名:T3)
【问题描述】
从键盘输入大于1位的自然数,打印出将其各位数字重新排列成的比原数小的最大数.
【样例输入1】
652362245679
【样例输出1】
652359766422
【样例输入2】
32
【样例输出2】
23
pascal 程序信息学(计算机)试题(Pascal语言)考试时间:2013年5月17日——————————————————————————————————说明:1.试卷1~3题每题100分,总共300分;2.评
program t1;
var
s:qword;
num,n,ans:longint;
begin
assign(input,'t1.in');
reset(input);
assign(output,'t1.out');
rewrite(output);
readln(n);
num:=1;s:=0;
while sa[i])and(a[i]>max) then begin max:=a[i];k:=i; end;
if max=0 then max:=a[x+1]
else b[k]:=a[x+1];
end;
begin
assign(input,'t3.in');
reset(input);
assign(output,'t3.out');
rewrite(output);
readln(st);
n:=length(st);
for i:=1 to n do val(st[n-i+1],a[i],code);
for i:=1 to n do
begin
k:=i-1;
b[i]:=max(k);
if b[i]a[i] then break;
end;
if (k+1n)and(a[n]b[n]) then sort(1,k);
inc(k);
for i:=n downto 1 do
if i>k then write(a[i]) else write(b[i]);
close(input);
close(output);
end.
题目输出的样例是对的
如有错误或者不懂的地方,请指教
望采纳
很费脑子的········