Online Judge | Problem Set | Authors | Online Contests | User | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest |
为什么老是WA呢? 是不是算法上的错误呢?(附有代码)#define M 1024 #include"stdio.h" #include"math.h" int Max(int a[M],int n) //求出最大的位置函数。 { int i,j=0; int temp; for(i=1;i<n;i++) //进行比较,当一个数比其他的 {if(a[i]>a[i+1]) 数据大时,就用用记时器,J++ {temp=a[i+1];a[i+1]=a[i];a[i]=temp; 来所定这个大数和后者的交换次 j++ ; 数,来知道它里后边多少位,来 } 定位置。 else {j=0;continue;} } return(n-j); } int Min(int a[M],int n) //类似找最大的位置。 { int i,j=0; int temp; for(i=1;i<n;i++) {if(a[i]<a[i+1]) {temp=a[i+1];a[i+1]=a[i];a[i]=temp; j++; } else {j=0;continue;} } return(n-j); } main() {int i,j,n; int a[2][M]; int k,l; scanf("%d",&n); //控制输入的个数 for(i=0;i<2;i++) for(j=1;j<=n;j++) scanf("%d",&a[i][j]); //这是输入两组数据 for(i=0;i<2;i++) { k=Max(a[i],n); // 调用函数,求出最大的位置。 l=Min(a[i],n); // 调用函数,求出最小的位置。 if(k>l) printf("%d",k-l); else printf("-1"); } } Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator