深圳幻海软件技术有限公司 欢迎您!

C8_指针练习

2023-03-25

//// MyFunction.h// homeworC8_指针//// Createdbydlloon15/7/9.// Copyright(c)2015年Clare.Allrightsreserved.//#import<Foundation/Fou

//

//  MyFunction.h

//  homeworC8 _指针

//

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

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

//


#import <Foundation/Foundation.h>



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

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

void noNum(char str[]);

void cancelNum(char str[]);


//

//  MyFunction.m

//  homeworC8 _指针

//

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

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

//


#import "MyFunction.h"

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

    char (*p)[20]= str;

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

        for (int j = 0; j < count - 1 - i; 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]);

    }

    

    

}




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

    int *p = arr;

    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 i = 0; i < count ; i++) {

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

    }

}


void noNum(char str[]){

    char *p = str;

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

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

            continue;

        }

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

    }

    printf("\n");

}


void cancelNum(char str[]){

    char *p = str;

    int num = 0;

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

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

            for (int j = i; p[j] != '\0'  ; j++) {

                num++;

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

            }

            i--;

        }

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

    }

    printf("%s",str);

}



//

//  main.m

//  homeworC8 _指针

//

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

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

//


#import <Foundation/Foundation.h>

#import "MyFunction.h"

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

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

//    char str[6][20]={"iPhone", "Samsung", "Nokia", "MIUI", "HTC", "Motorola"};

//    ///方法一:

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

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

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

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

//    //                    char temp[20] = {0};

//    //                    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]);

//    //        }

//    ///方法二:

//    arrBubble(str, 6);


    

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

//    int arr[6] = {35, 56, 85, 21, 34, 18};

//    ///方法一:

//    bubble(arr, 6);

//    ///方法二:

//    //    int *p = arr;

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

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

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

//    //                int temp = 0;

//    //                temp = *(p + j); //temp = p[j];

//    //                *(p + j) = *(p + j +1);// p[j] = p[j + 1];

//    //                *(p + j + 1) = temp;// p[j + 1] = temp;

//    //            }

//    //        }

//    //    }

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

//    //        printf("%d ", *(p + i));

//    //    }

//    //

//    

    

    

    ********************************************************

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

    char str[50] = "gsdfg554a8fs4f48s7rf";

//    char *p = str;

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

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

//            continue;

//        }

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

//    }


    ///方法二:

    noNum(str);

    ///方法三:

    cancelNum(str);

  

    printf("\n");

    return 0;

}



文章知识点与官方知识档案匹配,可进一步学习相关知识
C技能树指针指针与数组134665 人正在系统学习中