flattern
#include<stdio.h> #include<stdlib.h> int test_main(int data[100],int dumpCount); void build_data(int data[100],int*dumpCount) { for(int i=0;i<100;i++) { data[i]=rand()%100+1; } *dumpCount=rand()%1000+1; } void main(void) { int data[100]; int dumpCount; for(int l=0;l<10;l++) { build_data(data,&dumpCount); printf("%d\n",test_main(data,dumpCount)); } } //int test_main(int data[100],int dumpCount) //{ // int dis,p; // for(p=0;p<dumpCount;p++) // { // int m=0,n=0,t; // for(m=0;m<100;m++) // { // for(n=0;n<100-1-m;n++) // { // if(data[n]>data[n+1]) // { // t=data[n]; // data[n]=data[n+1]; // data[n+1]=t; // } // } // } //冒泡 // if(data[0]==data[99]) // { // dis=0; // break; // } // else if(data[99]-data[0]==1) // { // dis=1; // break; // } // else{ // data[0]=data[0]+1; // data[99]=data[99]-1; // dis=data[99]-data[0]; // } // } //return dis; //} int test_main(int data[100],int dumpCount) { int dis; int t; for(int i=0;i<dumpCount;i++) { for(int m=0;m<100;m++) { for(int n=0;n<100-m-1;n++) { if(data[n]>data[n+1]) { t = data[n]; data[n] = data[n+1]; data[n+1] = t; } } } if(data[0] == data[99]) { dis = 0; break; } else if(data[0] + 1 == data[99]) { dis = 1; break; } else { data[0] = data[0] + 1; data[99] = data[99] - 1; dis = data[99] - data[0]; } } return dis; }