c_指针

来源:互联网 发布:耐克淘宝旗舰店靠谱不 编辑:程序博客网 时间:2024/05/20 05:11

(1)main.m

//

//  main.m

//  709

//

//  Created by dllo on 15/7/9.

//  Copyright (c) 2015 flg. All rights reserved.

//


#import <Foundation/Foundation.h>

#import "709.h"


int main(int argc,constchar * argv[]) {

////1.把今天上课指针内容都好好看看,重写一遍

//直接访问:直接通过变量名进行访问

//间接访问:通过门牌号,地址,一样可以访问到对应的数字,例如指针

//取址符

//int a=10;

//printf("%p\n",&a);//打印出a的地址

//int *p=NULL;

    //int *


////1.在主函数中输入6个字符串(二维数组),对他们按从小到大的顺序,然后输出这6个已经排好序的字符串。要求使用指针数组进行处理。

////**********************法一*********************************////

//    char str[6][20]={"anyichen","ningzhiyuan","anleyan","wenshixuan","wenshiqing","anan"};

//    char (*p)[20]=str;

//    for (int i=0; i<6-1; i++) {

//        for (int j=0; j<6-i-1; j++) {

//            if (strcmp(*(p+j), *(p+j+1))>0) {

//                char *temp;

//                strcpy(temp, *(p+j));

//                strcpy(*(p+j), *(p+j+1));

//                strcpy(*(p+j+1), temp);

//            }

//        }

//    }

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

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

//    }printf("\n");

////**********************法二******************************////

//    char str[6][20]={"anyichen","ningzhiyuan","anleyan","wenshixuan","wenshiqing","anan"};

//    char (*p)[20]=str;

//    for (int i=0; i<6-1; i++) {

//        for (int j=0; j<6-i-1; j++) {

//            if (strcmp(p[j], p[j+1])>0) {

//                char *temp;

//                strcpy(temp, p[j]);

//                strcpy(p[j], p[j+1]);

//                strcpy(p[j+1], temp);

//            }

//        }

//    }

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

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

//    }printf("\n");

////********************法三 函数法*************************////

//char str[6][20]={"anyichen","ningzhiyuan","anleyan","wenshixuan","wenshiqing","anan"};

//    bubble1(str,6);

////2.在主函数中输入6个数字,对他们按从小到大的顺序,然后输出这6数字进行冒泡排序,要求使用数组进行处理。

////*********************法一*******************************////

//    int arr[6]={4,5,6,7,2,3};

//    int *p=arr;

//    for (int i=0; i<6-1; i++) {

//    for (int j=0; j<6-1-i; j++) {

//    if (p[j]>p[j+1]) {

//        int temp=0;

//        temp=p[j];

//        p[j]=p[j+1];

//        p[j+1]=temp;

//            }

//        }

//    }

//    for (int j=0; j<6; j++) {

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

//    }printf("\n");


  ////*****************法二 函数法***********************////

//        int arr[6]={4,5,6,7,2,3};

//        bubble(arr,6);//函数法


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

    ////****************法一********************************////

//    char str[20]="dsjDF45fd5JH4gf4hfs";

//   char *p1=str;

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

//        if (((p1[j]>='a')&&(p1[j]<='z'))||((p1[j]>='A')&&(p1[j]<='Z'))){

//            printf("%c",p1[j]);

//        }

//    }

//    printf("\n");

  ////*****************法二 函数法**************************////

char str[20]="dsjDF45fd5JH4gf4hfs";

    noNumber(str);

    return 0;

}

(2)709.h


//

//  709.h

//  709

//

//  Created by dllo on 15/7/9.

//  Copyright (c) 2015 flg. All rights reserved.

//


#import <Foundation/Foundation.h>

#import "709.h"

////2.在主函数中输入6个数字,对他们按从小到大的顺序,然后输出这6数字进行冒泡排序,要求使用数组进行处理。

void bubble(int a[],int count);

////1.在主函数中输入6个字符串(二维数组),对他们按从小到大的顺序,然后输出这6个已经排好序的字符串。要求使用指针数组进行处理。

void bubble1(char str[][20],int count);

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

void noNumber(char str[20]);

(3)15/7/9


//

//  709.m

//  709

//

//  Created by dllo on 15/7/9.

//  Copyright (c) 2015 flg. All rights reserved.

//


#import "709.h"


////2.在主函数中输入6个数字,对他们按从小到大的顺序,然后输出这6数字进行冒泡排序,要求使用数组进行处理。

void bubble(int a[],int count){

int *p=a;

for (int i=0; i<count-1; i++) {

    for (int j=0; j<count-1-i; j++) {

        if (p[j]>p[j+1]) {

            int temp=0;

            temp=p[j];

            p[j]=p[j+1];

            p[j+1]=temp;

        }

    }

}

for (int j=0; j<count; j++) {

    printf("%d ",p[j]);

}printf("\n");


};

////1.在主函数中输入6个字符串(二维数组),对他们按从小到大的顺序,然后输出这6个已经排好序的字符串。要求使用指针数组进行处理。

void bubble1(char str[][20],int count){

        char (*p)[20]=str;

        for (int i=0; i<count-1; i++) {

            for (int j=0; j<count-i-1; j++) {

                if (strcmp(*(p+j), *(p+j+1))>0) {

                char temp[20]="";

                strcpy(temp, *(p+j));

                strcpy(*(p+j), *(p+j+1));

                strcpy(*(p+j+1), temp);

            }

        }

        }

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

            printf("%s ",p[i]);

        }printf("\n");

    };

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

    void noNumber(char str[20]){

           char *p1=str;

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

                if (((p1[j]>='a')&&(p1[j]<='z'))||((p1[j]>='A')&&(p1[j]<='Z'))){

                    printf("%c",p1[j]);

                }

            }

            printf("\n");


};

0 0
原创粉丝点击