zoukankan      html  css  js  c++  java
  • 指针

     1 #include <cstdio>
     2 #include <iostream>
     3 #include <algorithm>
     4 #include <cstring>
     5 using namespace std;
     6 void f(int *a,int *b){
     7     int c;
     8     c=*a;*a=*b;*b=c;
     9 }
    10 int  main()
    11 {
    12 int x=3,y=5,*p=&x,*q=&y;
    13 //f(p,q);
    14 //f(&x,&y);
    15 //2个f都可以交换x,y.
    16 printf("%d%d",x,y);
    17 }
    void f(int *p){
        p=p+1;
    }
    int main()
    
    {
        int x=1,*r=&x;
        f(r);printf("%d
    ",x);
    }
    1
    1
    void f(int *p){
        *p=*p+1;
    }
    int main()
    
    {
        int x=1,*r=&x;
        f(r);printf("%d
    ",x);
    }
    1
    2
    /*
    第 95 题 假定输入的字符串中只包含字母和*号。请编写函数 fun,它的功能是:使字符
    串的前导*号不得多于 n 个;若多于 n 个,则删除多于的*号;若少于或等于 n 个,则什么
    也不做。字符串中间和尾部的*号不删除。
    */
    
    
    char a[50];
    int n;
    void fun(char *a, int n)
    {
        
        char *t =a;
        int k=0;
        while(*t=='*'){
            k++;
            t++;
        }
        t=a;
        if(k>n){
            t=a+k-n;
        } 
        int i=0;
        while(*t){
            a[i]=*t;
            i++;
            t++;
        }
        a[i]='';
    }
    int main(){
        scanf("%s",a);
        scanf("%d",&n);
        fun(a,n);
        printf("%s
    ",a);
    }
     194 题 规定输入字符串中只包含字母和*号。请编写函数 fun,它的功能是:将函数字
     2 符串中的前导*号全部删除,中间和尾部的*号不删除。
     3 
     4 void fun(char *a)
     5 {
     6     
     7     char *t =a;
     8     int k=0;
     9     while(*t=='*'){
    10         k++;
    11         t++;
    12     }
    13     t=a+k;
    14     int i=0;
    15     while(*t){
    16         a[i]=*t;
    17         i++;
    18         t++;
    19     }
    20     a[i]='';
    21 }
    /*
    第 88 题 假定输入的字符串中只包含字母和*号。请编写函数 fun,它的功能是:除了字
    符串前导的*号之外,将串中其他*号全部删除。在编写函数亚时,不得使用 c 语言提供的字
    符串函数。
    */
    
    void fun(char *a)
    {int i=0;
    char *p=a;
    while(*p&&*p=='*')
    {a[i]=*p;
    i++;
    p++;}
    
    while(*p)
    {if(*p!='*')
    {a[i]=*p;
    i++;}
    p++;}
    a[i]='';}
    /*
    假定输入的字符串中只包含字母和*号。请编写函数 fun,它的功能使:将字符
    串尾部的*号全部删除,前面和中间的*号不删除。
    */
    
    
    void fun(char *a)
    {
        char *p,*q;
        p=q=a;
        while(*p)
            p++;
            p--;//最后一个
            while(*p=='*')
                p--;
            int i =0;
                while(q<=p){
                    a[i]=*q;
                    i++;
                    q++;
                }
                a[i]='';
    }
    /*
    已知学生的记录由学号和学习成绩构成,n 名学生的数据已存入 a 结构体数组
    中。请编写函数 fun,该函数的功能是:找出成绩最低的学生记录,通过形参返回主函数(规
    定只有一个最低分)。
    */
    void f(stu a[],stu *s){
        int i,min;
        min=a[0].s;
        for(int i=0;i<5;i++){
            if(a[i].s>min){
                min=a[i].s;
                *s=a[i];
            }
        }
    }
    
    stu a[5],st;
    int main()
    {
        for(int i=0;i<5;i++){
            a[i].s=i;
        }
        stu *ss =&st;
        f(a,ss);
        printf("%d
    ",st.s);
        return 0;
    }
    假定输入的字符串中只包含字母和*号,请编写函数 fun,它的功能是:除了字
    符串前导和尾部的*号之外,将串中其他*号全部删除。形参 h 已指向字符串第一个字符,形
    参 p 已指向字符串中最后一个字母。在编写程序时,不得使用 c 语言提供的字符串函数。
    
    
    // h 尾,q 首
    void fun(char *s,char *h,char *q,char *t){
        int i=0,j=0;
        while(*q){
            if(*q=='*'){
                i++;
                q++;
            }
            else
                break;
        }
        while(*h){
            if(*h=='*'){
                j++;
                h--;
            }
            else
                break;
        }
        printf("%d %d
    ",i,j);
        int cnt=0;
        for(int  k=i;k<strlen(s)-j;k++){
            if(s[i]!='*'){
                t[cnt]=s[k];
                cnt++;
            }
        }
    }
    int   main()
    {
        scanf("%s",s);
        char *p=s;
        char *q=s;
        char *h;
        while(*p){
            p++;
        }
        p--;
        h=p;
        fun(s,h,q,t);
        printf("%s
    ",t);

     1 p:指针 2 p->num 和(*p).num 等价 

  • 相关阅读:
    Logistic 与 softmax
    opencv::KMeans图像分割
    opencv::KMeans方法概述
    opencv::opencv_traincascade.exe
    opencv::opencv_createsamples.exe
    opencv::视频人脸检测
    opencv实践::对象提取与测量
    opencv实践::透视变换
    opencv实践::对象计数
    opencv实践::对象的提取
  • 原文地址:https://www.cnblogs.com/tingtin/p/9966623.html
Copyright © 2011-2022 走看看