Chương trình C để đếm số phần tử lớn thứ 2 liên tiếp

Làm thế nào để viết một chương trình C để đếm số phần tử lớn thứ 2 liên tiếp trong ngôn ngữ lập trình C ?


Dung dịch:
  1. #include<stdio.h>
  2. #include<conio.h>
  3. #include<stdlib.h>
  4. int main()
  5. {
  6.     int n;
  7.     printf("so phan tu cua mang");
  8.     scanf("%d",&n);
  9.     int *b=(int*)malloc(sizeof(int)*n);
  10.     for(int e=0;e<n;e++)
  11.     {
  12.         scanf("%5d",(b+e));
  13.     }
  14.     for(int i=0;i<n;i++)
  15.     {    for(int j=i+1;j<n;j++)
  16.         {
  17.             if (*(b+i)>*(b+j)){
  18.                 int k=*(b+j);
  19.                 *(b+j)=*(b+i);
  20.                 *(b+i)=k;}
  21.             }}
  22.      int e;
  23.      for(int d=n-2;d>=1;d--)
  24.      {
  25.             if (*(b+d)< *(b+n-1)){ e=*(b+d); break;}}
  26.      int dem=0;
  27.      for(int d=n-2;d>=1;d--)
  28.      {
  29.             if(*(b+d)==e) dem=dem+1;
  30.             if(*(b+d)<e) break;
  31.     }
  32.     printf(" co %d so lon thu hai trong day",dem);
  33.     getch();
  34. }


Learn More :