指针

//

//  main.m

//  day7

//

//  Created by dllo on 15/11/19.

//  Copyright © 2015 dllo. All rights reserved.

//


#import <Foundation/Foundation.h>


int main(int argc,const char * argv[]) {

   

    //1.有一字符串中包含数字与字符,请编程去除数字

    

    

//    

//    char str[]="he213llo1wo24rld123";

//    char *p=str;

//    

//    for(int i = 0;i<strlen(str);i++) {

//    

//            if ((*(p+i)<'0') || (*(p+i)>'9')){

//                printf("%c",p[i]);

//            }

//        

//            

//        }

    

//    

//    char str[]="he213llo1wo24rld123";

//    char *p=str;

//    int i =0;

//    while (*(p+i)!='\0') {

//    

//        if ((*(p+i)>='0') && (*(p+i)<='9')){

//            i++;

//        }else{

//            printf("%c",p[i]);

//            i++;

//        }

//        

//    }

//    printf("\n");

    

    

//    char str[10]={"ads13dd4s"};

//    char * p = str;                    //p指向a[0]

//    int k=0;                        //记录字符串中数字的个数

//    for (int i=0; i<9; i++) {

//        if (*p >= 58 || *p <= 47) {       //判断是不是字符,是字符则执行

//            if (k!=0) {

//                *(p-k)=*p;                 //将数字后的字符付给最前面的数字所在的位置

//                *p='\0';                   //将前移的字符所在的位置付成\0

//            }

//            p++;                           //指针前移

//        }else  if(47< *p && *p <58  ){

//            k++;

//            p++;                           //指针前移

//        }

//    }

//    printf("%s",str);

    

    

//    char str[] = "fd$^T88888881adf642sa45f";

//    for (int i = 0; i < strlen(str); i++) {

//        if (str[i] >= '0' && str[i] <= '9') {

//            str[i] = '0';

//        }

//        if (str[i] != '0') {

//            printf("%c",str[i]);

//        }

//    }

//    printf("\n");

    

    


    //2.20个随机数将其中最小的数与第一个数对换,把最大的数和最后一个数对换,指针实现

//    int arr[20]={};

//    int *p =arr;

//    int max =0,min=100,n1=0,n2=0;

//    for (int i = 0; i<20; i++) {

//        *(p+i)=arc4random()%(100-10+1)+10;

//        if (max<*(p+i)) {

//            max=*(p+i);

//            n1=i;

//        }else if(min>*(p+i)){

//            min=*(p+i);

//            n2=i;

//        }

//        

//    }

//    int temp1 =*(p+n1);

//    *(p+n1)=*(p+19);

//    *(p+19)=temp1;

//    int temp2 = *(p+n2);

//    *(p+n2) = *p;

//    *p = temp2;

//    for (int i = 0; i<20; i++) {

//        printf("%d ",p[i]);

//    }

//    

    

  

//    char a;

//    char *p;

//    int b;

//    int *q;

//    printf("%d\n",sizeof(a));//1

//    printf("%d\n",sizeof(p));//8

//    printf("%d\n",sizeof(b));//4

//    printf("%d\n",sizeof(q));//8

//    

    

//    int a = 3;

//    int b = 4;

//    int c = 0;

//    a++;

//    printf("%d\n",a);//4

//    c=a+++b+++b+a+++b++;

//    printf("%d\n",b);//6

//    printf("%d\n",c);//23

//    printf("%d\n",a);//6

    

//Sn=1-2+4-8+16-......+4096-.......

//    int Sn=0;

//    int a = 2;

//    int arr[20]={1,2};

//    for (int i= 2; i<5; i++) {

//        

//        a*=2;

//        arr[i]=a;

//        printf("%d ",arr[i]);

//    }

//    printf("\n");

//    for (int i = 0; i<5; i++) {

//        if (i%2!=0) {

//            Sn-=arr[i];

//        }else{

//            Sn+=arr[i];

//        }

//    }

//    printf("%d",Sn);

    

    

  //

    int arr[20]={};

    int max=0,min=100;

    int *p=NULL,*q=NULL;

    for (int i=0; i<20; i++) {

        arr[i]=arc4random()%(100-10+1)+10;

        printf("%d ",arr[i]);

        

        if (max<arr[i]) {

            max=arr[i];

            p=&arr[i];

        }else if (min>arr[i]){

            min=arr[i];

            q=&arr[i];

        }

        

    }

    int temp=arr[19];

    arr[19]=*p;

    *p=temp;

    

    temp=arr[0];

    arr[0]=*q;

    *q=temp;

    

    printf("\n");

    for (int i=0; i<20; i++) {

        printf("%d ",arr[i]);

    }

    

    


  

    

    

    

    

    

    

    

    

    

    

    return 0;

}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值