题目:在父字符串中搜索子字符串,若能匹配,则输出它从第几位开始,反之输出-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';
}