zoukankan      html  css  js  c++  java
  • 实验十二 指针的应用

    1.

     1 #include<stdio.h>
     2 
     3 static int x,y,c,d;
     4 
     5 void change(int *a,int *b);
     6 void change1();
     7 
     8 int main()
     9 {
    10     int a,b;
    11 
    12     scanf("%d%d",&a,&b);
    13 
    14     change(&a,&b);
    15     printf("%d %d
    ",a,b);
    16 
    17     scanf("%d%d",&x,&y);
    18 
    19     change1(x,y);
    20     printf("%d %d
    ",x,y);
    21 
    22     return 0;
    23 }
    24 
    25 void change(int *a,int *b)
    26 {
    27     int t;
    28 
    29     t=*a;
    30     *a=*b;
    31     *b=t;
    32 }
    33 
    34 
    35 void change1()
    36 {
    37     int t;
    38 
    39     t=x;
    40     x=y;
    41     y=t;
    42 }         

    2.

     1 #include<stdio.h>
     2 
     3 void Delete(char s[]);
     4 
     5 int main()
     6 {
     7     char s[]="abs16cac45ecXACWE";
     8 
     9     Delete(s);
    10 
    11     printf("%s
    ",&s);
    12 
    13     return 0;
    14 }
    15 
    16 void Delete(char s[])
    17 {
    18     int i,j;
    19     for(i=0;s[i]!='';i++)
    20     {
    21         if(s[i]>=48&&s[i]<=57)
    22         {
    23             for(j=i+1;s[j-1]!='';j++)
    24                 s[j-1]=s[j];
    25 
    26             i--;
    27         }
    28     }
    29 }

    3.

     1 #include<stdio.h>
     2 
     3 int cnum1(char *p, char c);
     4 void cnum2(char *p, char c, int *n);
     5 
     6 int main()
     7 {
     8     char s[]="acfwef1646BICSxaA",c='a';
     9     int sum,n=0;
    10 
    11     sum=cnum1(s,c);
    12     cnum2(s,c,&n);
    13 
    14     printf("sum=%d,n=%d
    ",sum,n);
    15 
    16     return 0;
    17 }
    18 
    19 int cnum1(char *p, char c)
    20 {
    21     int i,sum=0;
    22 
    23     for(i=0;p[i]!='';i++)
    24     {
    25         if(p[i]==c)
    26             sum++;
    27     }
    28 
    29     return sum;
    30 }
    31 
    32 void cnum2(char *p, char c, int *n)
    33 {
    34     int i;
    35 
    36     for(i=0;p[i]!='';i++)
    37     {
    38         if(p[i]==c)
    39             (*n)++;
    40     }
    41 }

    4.

     1 #include<stdio.h>
     2 
     3 void swap(int a[],int N);
     4 
     5 int main()
     6 {
     7     int i,N,a[20];
     8     scanf("%d",&N);
     9 
    10     for(i=0;i<N;i++)
    11         scanf("%d",&a[i]);
    12 
    13     swap(a,N);
    14     
    15     for(i=0;i<N;i++)
    16         printf("%d ",a[i]);
    17 
    18     return 0;
    19 }
    20 
    21 void swap(int a[],int N)
    22 {
    23     int i,t;
    24 
    25     for(i=0;i<N/2;i++)
    26     {
    27         t=a[i];
    28         a[i]=a[N/2+1+i];
    29         a[N/2+1+i]=t;
    30     }
    31 }

    5.

     1 #include<stdio.h>
     2 
     3 int baoshu(int n);
     4 
     5 int main()
     6 {
     7     int n,i;
     8     
     9     scanf("%d",&n);
    10     
    11     printf("%d
    ",baoshu(n));
    12     
    13     return 0;
    14 }
    15 
    16 int baoshu(int n)
    17 {
    18     int a[n],*p,i,j=0,sum=0;
    19     
    20     for(i=0;i<n;i++)
    21         a[i]=i+1;
    22     
    23     for(p=a,i=0;sum!=n-1;i++)//循环判断条件是保证只剩一个数 
    24     {
    25         if((*p)!=0)
    26         {
    27             j++;
    28             if(j%5==0)//如果退出则置0 
    29             {
    30                 (*p)=0;
    31                 sum++;
    32             }
    33         }
    34         
    35         //构成一个圈,如果此时是数组最后一个元素,则将i置为-1,因为后面还要i++    
    36         if(i==n-1)
    37         {
    38             i=-1;
    39             p=a;
    40         }
    41         else
    42             p++;
    43     }
    44     
    45     for(p=a,i=0;i<n;p++,i++)
    46         if((*p)!=0)
    47             return *p;
    48 }

    6.

     1 #include<stdio.h>
     2 #include<stdlib.h>
     3 
     4 #define N 15
     5 
     6 void px(int a[]);
     7 void sc(int a[],int m);
     8 void sr(int a[]);
     9 int js(int a[],int judge);//judge为1返回最大值,否则返回最小值 
    10 
    11 int main()
    12 {
    13     int a[N],m=5;
    14     
    15     sr(a);
    16     sc(a,m);
    17     printf("
    ");
    18     px(a);
    19     sc(a,m);
    20     
    21     printf("
    max=%d,min=%d
    ",js(a,1),js(a,0));
    22     
    23     return 0;
    24 }
    25 
    26 //输入随机数 
    27 void sr(int a[])
    28 {
    29     int i;
    30     
    31     //赋值1-100随机数
    32     for(i=0;i<N;++i)
    33         a[i]=rand()%100+1; 
    34         
    35 }
    36 
    37 //输出 
    38 void sc(int a[],int m)
    39 {
    40     int i;
    41     
    42     for(i=0;i<N;++i)
    43     {
    44         printf("%3d ",a[i]);
    45         
    46         if((i+1)%m==0)
    47             printf("
    ");
    48     }
    49     
    50 } 
    51 
    52 //排序 
    53 void px(int a[])
    54 {
    55     int i,j,temp;
    56     
    57     for(i=0;i<N-1;++i)
    58     for(j=0;j<N-i-1;++j)
    59     {
    60         if(a[j]>a[j+1])
    61         {
    62             temp=a[j];
    63             a[j]=a[j+1];
    64             a[j+1]=temp;
    65         }
    66     }
    67 }
    68 
    69 //求最值
    70 int js(int a[],int judge)
    71 {
    72     int i,max=a[0],min=a[0];
    73     
    74     for(i=0;i<N;i++)
    75     {
    76         if(a[i]>max)
    77             max=a[i];
    78             
    79         if(a[i]<min)
    80             min=a[i];
    81     }
    82     
    83     if(judge==1)
    84         return max;
    85     else
    86         return min;
    87 } 
  • 相关阅读:
    MapReduce WordCount Combiner程序
    Spring Boot 单元测试
    Spring Boot @SpringApplicationConfiguration 不能导入的问题
    西西弗斯 滚石上山
    《Effective Modern C++》翻译--简单介绍
    算法排序问题
    MySQL Study之--MySQL schema_information数据库
    HDOJ 4251 The Famous ICPC Team Again
    一、OpenStack入门 之 初步认识
    python模块
  • 原文地址:https://www.cnblogs.com/cdp1591652208/p/6901424.html
Copyright © 2011-2022 走看看