#include <stdio.h>

 int cmp(int x, int y) // compare x and y
 {
 return x > y; // 1 if x > y, 0 otherwise
 }

 void swap(int *x, int *y)
 { int tmp = *x;

 *x = *y;
 *y = tmp;
 }

 int main(void)
 {
 
 int a[] = {3, 1, 4, 1, 5, 9, 2, 6, 5}; // array to be sorted
 size_t n = sizeof a / sizeof a[0]; // number of elements
int swap_count = 0;
 for (size_t i = 0; i < n - 1; ++i) {
 	int swapped = 0;
 for (size_t j = 0; j < n - 1 - i; ++j) {
 if (cmp( a[j] , a[j+1] )) {
 swap(&a[j] , &a[j+1] );
 	++swap_count;
 	swapped = 1;
 }
 }
if(swapped == 0)
    break;
 }
 
printf("swap_count = %d\n", swap_count);

 for (size_t i = 0; i < n; ++i) {
 printf("%d ", a[i]);
 }
 printf("\n");

 return 0;
 }

	

