// 161.c
#include<stdio.h>
void main()
{
int t,a[]={1,2,3,4,15,6,7,8,0,10},min,max,*p,*x,*y;
max=min=*a;
for(p=a+1;p<a+10;p++)
{if(min>*p){min=*p;x=p;}
if(max<*p){max=*p;y=p;}
}
t=*a;*a=*x;*x=t;
t=*(a+9);*(a+9)=*y;*y=t;
for(p=a;p<a+10;p++)
printf("%3d",*p);
getch();
}
// 162.c
#include<stdio.h>
void fun(int a[],int n)
{
int max,min,*x,*y,*p,t;
if(n==1||n==0)return;
max=min=*a;
x=y=a;
for(p=a+1;p<a+n;p++)
{if(min>*p){min=*p;x=p;}
if(max<*p){max=*p;y=p;}
}
t=*a;*a=*x;*x=t;
t=*(a+n-1);*(a+n-1)=*y;*y=t;
fun(a+1,n-2);
}
void main()
{
int t,a[]={1,2,3,4,15,6,7,8,0,10},*p;
fun(a,10);
for(p=a;p<a+10;p++)
printf("%3d",*p);
getch();
}
// 163.c
#include<stdio.h>
void main()
{
int a[]={1,2,3,4,5,6,7,8,9,10},*p,i=0,n=10;
for(p=a;n>1;p++)
{
//范围
if(p==a+10)p=a;
//报数
if(*p!=0)i++;
//归零
if(i==3){*p=0;i=0;n--;}
}
for(p=a;p<a+10;p++)
if(*p)printf("%3d",*p);
getch();
}
// 164.c
#include<stdio.h>
int fun(int a[],int n)
{
}
void main()
{
int a[]={1,2,3,4,5,6,7,8,9,10};
printf("%d",fun(a,10));
getch();
}
// 165.c
#include<stdio.h>
int fun(char a[])
{
char *p;
for(p=a;*p;p++);
return p-a;
}
void main()
{
char a[]="this is a book";
printf("%d",fun(a));
getch();
}
// 166.c
#include<stdio.h>
int fun(char a[])
{
if(*a==0)return 0;
return fun(a+1)+1;
}
void main()
{
char a[]="this";
printf("%d",fun(a));
getch();
}
// 167.c
#include<stdio.h>
int fun(char a[])
{
char *p=a,*q;
for(q=a;*q;q++);
q--;
while(p<q){
if(*p!=*q)return 0;
p++;q--;
}
return 1;
}
void main()
{
char x[]="abba";
if(fun(x))printf("ok");
else printf("no");
getch();
}
// 168.c
#include<stdio.h>
int fun(char a[],int n)
{
if(n<2)return 1;
if(*a!=*(a+n-1))return 0;
fun(a+1,n-2);
}
void main()
{
char x[]="thissiht";
if(fun(x,strlen(x)))printf("ok");
else printf("no");
getch();
}
// 169.c
#include<stdio.h>
void cpyfun(char a[],char b[])
{
while(*b!=0)
{
*a=*b;a++;b++;
}
*a=0;
}
void main()
{
char a[20],b[]="this";
cpyfun(a,b);
puts(a);
getch();
}
// 170.c
#include<stdio.h>
int cmpfun(char a[],char b[])
{
while(*a==*b&&*a&&*b){a++;b++;}
return *a-*b;
}
void main()
{
char a[]="this",b[]="this";
printf("%d",cmpfun(a,b));
getch();
}