问题描述:
使用冒泡排序的方法,对输入的n个数进行从小到大排序,并输出排序中交换的次数(相等的数不交换)。
输入格式
输入的第一行包括一个整数n(1<=n<=100)。
接下来的一行包括n个整数,空格隔开。
输出格式
将交换次数输出
样例输入
4
3 1 4 2
样例输出
3
#include <stdio.h>
#include <stdlib.h>
int main() {
int n, a[101];
int i = 0, j = 0, q = 0;
int p = 0, t;
scanf("%d", &n);
for (q = 0; q < n; q++) {
scanf("%d", &a[q]);
}
for (i = 0; i < n - 1; i++) {
for (j = 0; j < n - i - 1; j++) {
if (a[j] > a[j + 1]) {
t = a[j];
a[j] = a[j + 1];
a[j + 1] = t;
p = p + 1;
}
}
}
printf("%d", p);
return 0;
}