假期day3作业

 1.作业:用自己的代码完成string数功能

#include 
#include 
#include 
int main(int argc, const char *argv[])
{
    char str[100];
    gets(str);

    //实现strlen的功能
    int i=0;

    //如果访问到'\0',它的ascii码为0,条件为假
    while(str[i])
    {
        //即实现了计数的功能,也实现了向后访问元素的功能
        i++;
    }
    printf("%d\n",i);
    return 0;
}

 

 

#include 
#include 
#include 
int main(int argc, const char *argv[])
{
    char str[30]="heheuwuwjwke";
    char str1[]="ooooo";

    //实现strcpy函数的功能
    int i=0;
    /*while(str1[i])
    {
        str[i]=str1[i];
        i++;
    }
    //赋'\0'
    str[i]=str1[i];*/

    //求源字符串的长度
    int len=strlen(str1);
    //循环赋值,要把'\0'也赋值过去,所以i<=len
    for(i=0;i<=len;i++)
    {
        str[i] = str1[i];
    }
    puts(str);
    return 0;
}

 

//strcat
#include 
#include 
#include 
int main(int argc, const char *argv[])
{
    //实现strcat功能
    char str[30]="heheuwuwjwke";
    char str1[]="ooooo";
    int i=0,j=0;

    //找目标字符串'\0'的位置
    while(str[i])
    {
        i++;
    }

    //把源字符串的每一位拼接过去
    while(str1[j])
    {
        str[i]=str1[j];
        i++;j++;
    }
    str[i]=str1[j];

    puts(str);
    return 0;
}

 

 

//strcmp
#include 
#include 
#include 
int main(int argc, const char *argv[])
{
    char str[30]="hehe9999";
    char str1[]="hehe999998888";

    int i=0;
    //实现strcmp功能
    //按位比较ascii码,相等就继续向后比较,
    //比较到不等或者'\0'退出
    
    while(str[i]==str1[i]&&str[i]!='\0')
    {
        i++;
    }
    printf("%d\n",str[i]-str1[i]);
    return 0;
}

 

 

 

你可能感兴趣的:(算法,linux,c#)