fork download
  1. #include<stdio.h>
  2.  
  3. int cmp(int x, int y){
  4. return x>y;
  5. }
  6.  
  7. void swap(int *x, int *y){
  8. int temp=*x;
  9.  
  10. *x=*y;
  11. *y=temp;
  12. }
  13.  
  14. int main(void){
  15. int a[]={3,1,4,1,5,9,2,6,5};
  16. int cnt=0;
  17. size_t n=sizeof a/ sizeof a[0];
  18. for(size_t i=0;i<n;++i){
  19. int pin=0;
  20. for(size_t j=0;j<n-1-i;++j){
  21. if(cmp(a[j],a[j+1])){
  22. swap(&a[j],&a[j+1]);
  23. cnt++;
  24. pin=1;
  25. }
  26. }
  27. if(pin==0){
  28. break;
  29. }
  30. }
  31.  
  32. printf("swapの回数は%d\n",cnt);
  33. for(size_t i=0;i<n;++i){
  34. printf("%d",a[i]);
  35. }
  36. printf("\n");
  37. return 0;
  38. }
Success #stdin #stdout 0s 544KB
stdin
Standard input is empty
stdout
swapの回数は10
112345569