解题思路:
每交换一次就加上两位置之差*2
参考代码:
#include <stdio.h> #include <stdlib.h> int main() { int i,j,k; int n,x,y,z=0; int p[10000]={0}; scanf("%d",&n); for(i=0;i<n;i++){ scanf("%d",&p[i]); } for(i=0;i<n;i++){ for(j=i;j<n;j++){ if(p[j]<p[i]){ p[j]=p[j]^p[i]; p[i]=p[j]^p[i]; p[j]=p[j]^p[i]; z+=(j-i)*2; } } } printf("%d",z); return 0; }
0.0分
157 人评分
大神老白 (C语言代码)浏览:696 |
A+B for Input-Output Practice (II) (C语言代码)浏览:1047 |
2004年秋浙江省计算机等级考试二级C 编程题(1) (C语言代码)浏览:539 |
1017题解浏览:663 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:569 |
蚂蚁感冒 (C语言代码)浏览:818 |
简单的a+b (C语言代码)浏览:857 |
C语言程序设计教程(第三版)课后习题10.1 (C语言代码)浏览:826 |
C语言程序设计教程(第三版)课后习题11.1 (C语言代码)浏览:504 |
C二级辅导-分段函数 (C语言代码)浏览:791 |