fuliver123

Số lớn thứ 2

Dec 4th, 2015
104
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.17 KB | None | 0 0
  1. #include<stdio.h>
  2. #include<conio.h>
  3.  
  4. int main()
  5. {
  6.     int n,i,a[100],max1,max2;//max1 là số lớn nhất, max2 là số lớn thứ 2
  7.     printf("Nhap vao so phan tu: "); scanf("%d",&n);
  8.     for (;n<=0 || n>=10;scanf("%d",&n)) printf("Nhap sai, nhap lai: ");
  9.     for (i=1;i<=n;i++)
  10.     {
  11.         printf("Phan tu thu %d: ",i);
  12.         scanf("%d",&a[i]);
  13.     }
  14.     if (a[1]>a[2]) //ban đầu gán giá trị khởi động cho max1 và max2
  15.     {
  16.         max1=a[1];  
  17.         max2=a[2];
  18.     }
  19.     else //số nào lớn hơn trong 2 số đầu sẽ tạm thời làm số lớn nhất, số còn lại là số lớn thứ 2.
  20.     {
  21.         max1=a[2];
  22.         max2=a[1];
  23.     }
  24.     for (i=3;i<=n;i++) //quét dãy số
  25.     {
  26.         if (a[i]>max2) //nếu gặp 1 số mà lớn hơn số lớn thứ 2...
  27.             if (a[i]>max1) // ...đồng thời cũng lớn hơn số lớn thứ 1
  28.             {
  29.                 max2=max1; // khi đó số lớn thứ 1 thành thứ 2
  30.                 max1=a[i]; // và số vừa gặp bên trên sẽ thành thứ 1
  31.             }
  32.             else  // ... nhưng lại không lớn hơn số thứ 1
  33.                 max2=a[i]; //số lớn thứ 2 sẽ là số đó.
  34.     }
  35.     printf("So lon nhat la: %d\n",max1);
  36.     printf("So lon thu 2 la: %d\n",max2);
  37.     getch();
  38.     return 0;
  39. }
Advertisement
Add Comment
Please, Sign In to add comment