主题:问大家一道题目
1l2j3y
[专家分:0] 发布于 2009-08-05 18:06:00
内容:
从 n 个数中挑选出最大的数
输入说明:
一行,若干个整数,用空格隔开
输出说明:
两个整数,第一个是总数字个数 ,第二个是最大数。用空格隔开
输入样例:
若题目没有特别说明,则应该以多组测试数据方式读取,或者参考a001。1 2 3 4 5 9 6
输出样例 :
7 9
回复列表 (共7个回复)
沙发
小田甜 [专家分:3910] 发布于 2009-08-05 20:43:00
没调试,应该差不多。
var
n,t,m:longint;
begin
read(n); t:=1; m:=n;
while not eof do begin
read(n);
t:=t+1;
if n>m then m:=n;
end;
write(t,' ',m);
end.
板凳
tzhlryy [专家分:270] 发布于 2009-08-05 20:51:00
一个不要剪枝,不要缩小范围的最基础的搜索(或穷举),数据太小了,事情太简单了
var
a:array[1..100] of integer;
max,i,j,n:integer;
begin
max:=-32768;
read(n);
for i:=1 to n do
begin
read(a[i]);
if a[i]>max then max:=a[i];
end;
write(n,' ',max);
end.
3 楼
天天和和 [专家分:1420] 发布于 2009-08-19 11:30:00
var a,b,c:longint;
begin
read(a); b:=1; c:=a;
while not eof do begin
read(a);
b:=b+1;
if a>c then c:=a;
end;
write(b,' ',c);
end.
4 楼
phile [专家分:2310] 发布于 2009-08-25 17:30:00
你好,天天和和!
5 楼
818721 [专家分:10] 发布于 2009-12-16 20:08:00
用排序!!!
for i:=1 to n-1 do
for j:=i+1 to n do
if a[i]<a[j] then begin {交换}t:=a[i];a[i]:=a[j];a[j]:=t;end;
输出a[1]
6 楼
wangminrui0804 [专家分:30] 发布于 2009-12-17 20:02:00
readln(n);
read(x);
max:=x;
for i:=1 to n-1 do
begin
read(x);
if x>max then max:=x;
end;
writeln(max);
7 楼
chip [专家分:80] 发布于 2010-08-06 22:46:00
答案惊人的相似,哎,方法那么唯一吗?
我来回复