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 } 
  • 相关阅读:
    WCF 第四章 绑定 在多个绑定上暴露一个服务契约
    WCF 第五章 行为 事务跨操作事务流
    WCF 第五章 导出并发布元数据(服务行为)
    WCF 第五章 行为 通过配置文件暴露一个服务行为
    WCF 第五章 不支持会话的绑定的默认并发和实例
    WCF 第五章 并发和实例(服务行为)
    WCF 第五章 行为 总结
    WCF 第四章 绑定 绑定元素
    WCF 第五章 行为 事务之选择一个事务协议OleTx 或者WSAT
    WCF 第四章 绑定 比较各种绑定的性能和可扩展性
  • 原文地址:https://www.cnblogs.com/cdp1591652208/p/6901424.html
Copyright © 2011-2022 走看看