elsereturn(mid);
}
return(-1);
}
voidmain()
{staticinta[]={4,0,2,3,1};inti,t,j;
for(i=1;i<5;i++){
t=a[i];j=i-1;
while(j>=0&&t>a[j]){a[j+1]=a[j];j--;}
a[j+1]=t;
}
printf("%d\n",binary(3,a,5));
}
输出结果:
21.#include
#include
voidmain()
{doublef(double,int);
printf("%1f\n",f(2.0,14));
}
doublef(doublex,intn)
{doublet;
if(n==1)t=x;
else{
if(n/2*2==n)t=x*f(x,n/2);
elset=x*pow(f(x,n/2),2.0);
}
returnt;
}
输出结果:
22.#include
doublex,u,v
doublet(doublea,double(*f)(double))
{return(*f)(a*a);}
doublef(doublex)
{return2.0*x;}
doubleg(doublex)
{return2.0+x;}
voidmain()
{x=4.0;u=t(x,f);v=t(x,g);
printf("u=%5.3fv=%5.3f\n",u,v);
}
输出结果:
23.#include
voidmain()
{staticstructs1{charc[4],*s;};
s1={"abc","def"};
staticstructs2{char*cp;structs1ss1;}
s2={"ghi",{"jkl","mno"}};
printf("%c,%c\n",s1.c[0],*s1.s);
printf("%s,%s\n",s1.c,s1.s);
printf("%s,%s\n",s2.cp,s2.ss1.s);
printf("%s,%s\n",++s2.cp,++s2.ss1.s);
}
输出结果:
24.#include
structs1{char*s;inti;structs1*s1p;};
voidmain()
{statics1a[]={{"abcd",1,a+1},{"efgh",2,a+2},{"ijkl",3,a}};
inti;
for(i=0;i<2;i++){
printf("%d\n",--a[i].i);
printf("%c\n",++a[i].s[3]);
}
}
输出结果:
25.#include
voidmain()
{FILE*fp;inti;
chars1[80],s[]="abcdefghijklmnop";
fp=fopen("alf.dat","wb+");i=sizeof(s);
fwrite(s,i,1,fp);rewind(fp);fread(s1,i,l,fp);
printf("all=%s\n",s1);fseek(fp,0,0);
printf("seek1ch=%c\n",fgetc(fp));
fseek(fp,10,1);
printf("seek2ch=%c\n",fgetc(fp));
fseek(fp,1,1);
printf("seek3ch=%c\n",fgetc(fp));
fclose(fp);
}
输出结果:
26.#include
voidmain()
{structT1{charc[4],*s;}
s1={"abc","def"};
structT2{char*cp;T1ss1;}
s2={"ghi",{"jkl","mno"}};
printf("%c,%c\n",s1.c[0],*s1.s);
printf("%s,%s\n",s1.c,s1.s);
printf("%s,%s\n",s2.cp,s2.ss1.s);
printf("%s,%s\n",++s2.cp,++s2.ss1.s);
}
27.#include
voidmain()
{structinfo{intdata;info*pn;};
info*base,*p;
base=NULL;
for(inti=0;i<10;i++){
p=newinfo;p->data=i+1;
p->pn=base;base=p;
}
p=base;
while(p!
=NULL){printf("%2d",p->data);p=p->pn;}
printf("\n");
}
28.#include
#include
voiddel_bk(char*p)
{char*p1;p1=p;
while(*p1!
='\0')
if(*p1==''&&*(p1+1)=='')strcpy(p1,p1+1);
elsep1++;
}
voidmain()
{char*aa="aabbccccdddefgh";
printf("%s\n",aa);del_bk(aa);printf("%s\n",aa);
}
29.#include
voidmain()
{intm[]={1,2,3,4,5,6,7,8,9},i,j,k;
for(i=0;i<4;i++){
k=m[i];m[i]=m[8-i];m[8-i]=k;
for(j=0;j<9;j++)
printf("%d",m[j]);
putchar('\n');
}
}
30.#include
voidmain()
{intx[4][4]={{1,2,3,4},{3,4,5,6},{5,6,7,8},{7,8,9,10}};
inti,j;
for(i=0;i<4;i++)
for(j=0;j<4;j++)
*(*(x+i)+j)/=*(*(x+i)+i);
for(i=0;i<4;i++){
for(j=0;j<4;j++)printf("%3d",*(*(x+i)+j));
putchar('\n');
}
}
31.#include
#include
voidmain()
{charline[]="123456789";
inti,k=strlen(line);
for(i=0;i<4;i++){
line[k-i]='\0';
puts(line+i);
}
}
32.#include
#include
voidmain()
{chara[5][20]={"abc","def","123","456","#$%"};
inti,j;
for(i=0;i<4;i++){j=0;
while(a[i][j])j++;
strcat(*(a+i)+j,*(a+i+1));
}
for(i=0;i<4;i++)puts(*(a+i));
}
33.#include
#defineSx=y=z
#defineP3(x,y,z)printf("x=%d\ty=%d\tz=%d\n",x,y,z)
voidmain()
{intx,y,z;
S=1;++x||++y||++z;P3(x,y,z);
S=1;++x&&++y||++z;P3(x,y,z);
S=1;++x&&++y&&++z;P3(x,y,z);
S=-1;++x||++y&&++z;P3(x,y,z);
S=-1;++x||++y||++z;P3(x,y,z);
S=-1;++x&&++y&&++z;P3(x,y,z);
}
34.#include
#include
intf(intm,intn)
{if(m%n==0)returnn;
elsereturnf(n,m%n);
}
voidmain()
{printf("%d\n",f(840,48));
}
35.#include
intf1(int,int),f11(int);
voidf2(int);
voidmain()
{inti,j;
for(i=0;i<5;i++){
f2((5-i)*3);
for(j=0;j<=i;j++)printf("%3d"