蓝桥练习 之 数列特征

问题描述

给出n个数,找出这n个数的最大值,最小值,和。

输入格式

第一行为整数n,表示数的个数。

第二行有n个数,为给定的n个数,每个数的绝对值都小于10000。

输出格式
输出三行,每行一个整数。第一行表示这些数中的最大值,第二行表示这些数中的最小值,第三行表示这些数的和。
样例输入
5
1 3 -2 4 5
样例输出
5
-2
11
数据规模与约定
1 <= n <= 10000。
 
 
该题是一个非常基础的题目,由于刚开始学习Java,我拿它用来练习一下Java。
 
C语言解答过程如下:
 1 #include<iostream>
 2 using namespace std;
 3 int main()
 4 {
 5     int n=0;
 6     cin>>n;
 7     int a[10000],i=0,c=0,b=0,s=0;
 8     for(int m=0;m<n;m++)
 9     {
10         cin>>a[m];
11         s=s+a[m];
12     }
13     c=a[0];b=a[0];
14     for(i=0;i<n;i++)
15     {
16         if(a[i]>c)
17         {
18             c=a[i];
19         }
20         if(a[i]<b)
21         {
22             b=a[i];
23         }
24     }
25     cout<<c<<endl;
26     cout<<b<<endl;
27     cout<<s;
28     return 0;
29 }

运行正确,蓝桥杯显示满分。

 

Java 语言解答代码:

 1 import java.util.Scanner;
 2 
 3 public class Main {
 4     
 5      public static void main(String[] args) {
 6          Scanner sc = new Scanner(System.in);
 7          int n =sc.nextInt();
 8          int i;
 9         int[] Ashu = new int[n];
10          for( i=0;i<n;i++)
11          {
12                   int num = sc.nextInt();
13                     Ashu[i] = num;
14          }
15     
16     int s = 0;
17     int min = Ashu[0];
18     int max = Ashu[0];
19     for(i=0;i<n;i++)
20     {
21         s = s + Ashu[i];
22         if(Ashu[i] < min)
23         {
24             min = Ashu[i];
25         }
26         if(Ashu[i] > max)
27         {
28             max = Ashu[i];
29         }
30     }
31         System.out.println(max);
32         System.out.println(min);
33         System.out.println(s);
34     }
35 
36 }

 

Java代码同样也是可以运行的。蓝桥杯测试100分。

 

小结:

      这个运用Java语言写的时候,注意数组的输入,之前试了好多次,也百度了许多,最后发现这个是正确的,于是就将它记录下来。

int[] Ashu = new int[n];
 for( i=0;i<n;i++)
  { int num = sc.nextInt(); Ashu[i] = num;  }

这个是一个个输入的,接下来我会继续学习,探讨更好的方法。
 
 
 
 
 
 
 
 
 
 
posted @ 2016-03-29 14:56  Seraphjin  阅读(477)  评论(0)    收藏  举报