H_C_5 1

#include <stdio.h>

#include <string.h>

 

// 冒泡排序

void popo(char *str[] ,int len);

void popo(char *str[] ,int len)

{

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

    {

        for (char **m = str; m < str + (len - 1 - i); m++)

        {

            if (strcmp(*m, *(m+1)) > 0)

            {

                char *tmp = *m;

                *m = *(m+1);

                *(m+1) = tmp;

            }

        }

    }

}

 

void strcopy(char a[],char b[]);

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

{

    // 作业讲解

    // 1.

    char *str[4] = {"iphone","android","wphone","blackbreey"};

    popo(str, 4);

    

    for (int i = 0;i < 4;i++)

    {

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

    }

    

    // 2.

    printf("\n");

    char a[] = "ios";

    char b[] = "iphone";

    

    char *m = a;

    char *n = b;

    strcopy(m, n);

    printf("n = %s",n);

    

    

    // 3.

    printf("\n");

    char nums[5];

    scanf("%s",nums);

    printf("nums = %s\n",nums);

    //int len = sizeof(nums) / sizeof(char);

    

    char *p = nums;

    int count = 0;

    while (*p != '\0')

    {

        count++;

        p++;

    }

    printf("count = %d\n",count);

    

    // 顺序输出

    p = nums;

    while (*p!='\0')

    {

        printf("%c  ",*p);

        p++;

    }

    

    printf("\n");

    //  逆序输出

    p = nums + count - 1;

    int nCount = count;

    while (nCount >= 1)

    {

        printf("%c  ",*p);

        nCount--;

        p--;

    }

    

    

    

    

    //printf("len = %d",len);

    

    return 0;

}

 

 

void strcopy(char a[],char b[])

{

    char *from = a;

    char *to = b;

    for (;  *from != '\0' || *to != '\0'; from++,to++)

    {

        *to = *from;

        

    }

    *to = '\0';

}

 

posted @ 2013-02-27 17:39  沉默的影子  阅读(189)  评论(0)    收藏  举报