一周练习

题目:在父字符串中搜索子字符串,若能匹配,则输出它从第几位开始,反之输出-1

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main()
{
    void seach(char x[], char y[],int n,int m);
    int n,m;
    char a[] = "fdfkjvfesbnujsbnrusbn";
    char b[1000];
    n = strlen(a);
    printf("输入父字符串:string a=%s\n子字符串:",a);
    gets_s(b);
    m= strlen(b);
    seach(a, b,n,m);
    system("pause");
    return 0;
}
void seach(char x[], char y[],int n,int m)
{
    int i,j,p;
    char c[100];
    for (i = 0; i < n; i++)
    {
        if (x[i] == y[0])
        {
            p = i;
            for (j = 0; j < m; j++, i++)
            {
                c[j] = x[i];
            }
            c[j] = '\0';
            
            if (strcmp(c, y) == 0)
            {
                printf("%d\n", p);
                break;
            }
            else
                printf("-1\n");
        }
        
            
    }
    
}一周练习

t题目:例如输入true

再输入eurt,用一个函数来判断是否是是逆序输入

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main()
{
    void just(char x[], char y[],int n);
    int n;
    char a[50];
    printf("输入a:");
    gets_s(a);
    char b[50];
    printf("输入b:");
    gets_s(b);
    n = strlen(b);
    just(a, b,n);
    system("pause");
    return 0;
}
void just(char x[], char y[],int n)
{
    char c[50];
    int i;
    int p = n;
    for (i = 0; i < n; i++, p--)
    {
        c[i] = y[p - 1];
    }
    c[i] = '\0';
    if (strcmp(x, c) == 0)
        printf("true\n");
    else
        printf("false\n");
}一周练习

                      题目:不直接用字符函数,实现字符函数的作用

 

#include<stdio.h>
#include<stdlib.h>
int main()
{
    void mystrncpy(char x[], char y[], int n);
    char a[] = "i am a hero";
    char b[] = "666 666 666";
    int n;
    printf("sting a=%s\nstring b=%s\n", a, b);
    printf("将a的前n项复制到b:\n");
    printf("输入n:\n");
    scanf_s("%d",&n);
    mystrncpy(a, b,n);
    printf("sting a=%s\nstring b=%s\n", a, b);
    system("pause");
    return 0;
}
void mystrncpy(char x[], char y[], int n)
{
    int i;
    for (i = 0; i < n; i++)
    {
        y[i] = x[i];
    }
}一周练习

#include<stdio.h>
#include<stdlib.h>
int main()
{
    void mystrcpy(char x[], char y[]);
    char a[] = "I am a hero";
    char b[] = "666 666 666";
    printf("string a=%s\nstring b=%s\n", a, b);
    printf("将a复制到b:\n");
    mystrcpy(a, b);
    printf("string a=%s\nstring b=%s", a, b);
    system("pause");
    return 0;
}
void mystrcpy(char x[], char y[])
{
    int i = 0;
    while (x[i] != '\0')
    {
        y[i] = x[i];
        i++;
    }
    y[i] = '\0';
}#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main()
{
    void connect(char x[], char y[], int n, int m);
    int n, m, i;
    char a[100];
    printf("输入string a:");
    gets_s(a);
    char b[100];
    printf("输入string b:");
    gets_s(b);
    n = strlen(a);
    m = strlen(b);
    connect(a, b, n ,m);
    printf("连接后的数组为:%s",a);
    system("pause");
    return 0;
}
void connect(char x[], char y[], int n, int m)
{
    int i;
    for (i = 0; i < m; i++,n++)
    {
        x[n] = y[i];
    }
    x[n] = '\0';
}一周练习