//run on VS 2010
#include <stdlib.h>
#define N 10
void QSort_int(int *s, int l, int r){
int i, j, x;
if (l < r){
i = l; j = r; x = s[i];
while (i < j){
while(i < j && s[j] > x)
j--;
if(i < j)
s[i++] = s[j];
while(i < j && s[i] < x)
i++;
if(i < j)
s[j--] = s[i];
printf("step=%d, x=%d\n",++step, x);
for (int ii = 0; ii < N; ii++)
printf("%d ",s[ii]);
printf("\n");
}
s[i] = x;
printf("i=%d, x=%d\n",i,x);
for (int ii = 0; ii < N; ii++)
printf("%d ",s[ii]);
printf("\n");
QSort_int(s, l, i-1);
QSort_int(s, i+1, r);
}
}
int main(){
int i,j;
int b[100], c[100];
srand(1);
for (i = 0; i < 100; i++) b[i] = rand() % 100;
srand(1000);
for (i = 0; i < 100; i++) c[i] = rand() % 100;
printf("b[i]=");
for (i = 0; i < N; i++)
printf("%d\t",b[i]);printf("\n");
QSort_int(b,0,N-1);
printf("b[i]=");
for (i = 0; i < N; i++)
printf("%d\t",b[i]);printf("\n");
fflush(stdin);
getchar();
return 0;
}//run on VS 2010
#include <stdlib.h>
int findp(double *a, int n, double val){
int half, tmp, up, low;
up = n-1; low = 0;
while(up-low>1){
tmp = up-low;
half=low+tmp/2;
if(val==a[half]) return half;
else if(val<a[half]) up = half;
else low = half;
}
if(val==a[low]) tmp=low;
else if(val==a[up]) tmp=up;
else tmp = -1;
return tmp;
}
int main(){
int i, j;
double b[100], c[100];
srand(1);
for (i = 0; i < 100; i++) b[i] = (rand() % 100) / 100.0;
printf("b[i]=");
for (i = 0; i < 100; i++)
printf("%f\t",b[i]);printf("\n");
int index = findp(b,100,0.24);
printf("%d\n",index);
fflush(stdin);
getchar();
return 0;
}#include <stdlib.h>
void pf2(int *a1, int *b1, int *Lab, int N){
int i,La,ta,tb,ta1,tb1;
if(N<=1) {
a1[0]=3;b1[0]=2;
Lab[0]=Lab[1]=1;
}
else{
pf2(a1, b1, Lab, N-1);
ta=tb=0;La=Lab[0];
for(i=0;i<La;i++){
ta1=a1[i]*3+b1[i]*4+ta;
tb1=a1[i]*2+b1[i]*3+tb;
a1[i]=ta1%10;
b1[i]=tb1%10;
ta=ta1/10;
tb=tb1/10;
}
Lab[0]=La;
Lab[1]=La;
if(ta){
a1[i]=ta;
Lab[0]++;
}
if(tb){
b1[i++]=tb;
Lab[1]++;
}
}
}
int main(int argc,char* arg[]){
int i;
int a[100], b[100], Lab[2];
for (i = 0; i < 100; i++) a[i]=b[i]=0;
pf2(a,b,Lab,50);
printf("p=");
for(i=Lab[0]-1;i>=0;i--)
printf("%d",a[i]);
printf(" q=");
for(i=Lab[1]-1;i>=0;i--)
printf("%d",b[i]);printf("\n");
getchar();
return 0;
}#include <stdlib.h>
int main(int argc,char* arg[]){
int a = atoi(arg[1]), b = atoi(arg[2]);
printf("a+b=%d\n",a+b);
return 0;
}add 10 32gcc add.c -o addadd 10 32gcc add.c -o add./add 10 32gcc add.c -o add./add 10 32