017. C语言基础

//  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();
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容