回 帖 发 新 帖 刷新版面

主题:问大家一道题目

内容:


从 n 个数中挑选出最大的数
输入说明:


一行,若干个整数,用空格隔开
输出说明:


两个整数,第一个是总数字个数 ,第二个是最大数。用空格隔开
输入样例:
若题目没有特别说明,则应该以多组测试数据方式读取,或者参考a001。1 2 3 4 5 9 6
输出样例 :

7 9

回复列表 (共7个回复)

沙发

没调试,应该差不多。
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.

板凳

一个不要剪枝,不要缩小范围的最基础的搜索(或穷举),数据太小了,事情太简单了
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 楼

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 楼

你好,天天和和!

5 楼

用排序!!!
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 楼

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 楼

答案惊人的相似,哎,方法那么唯一吗?

我来回复

您尚未登录,请登录后再回复。点此登录或注册