1.思维导图
2.独立写出strcpy,strcmp的函数功能
strcpy函数
#include <stdio.h>
#include <string.h>
int main(int argc, const char*argv[])
{
char arr[30];
char brr[30];
int i,j,k;
int num1=0,num2=0;
int n;
gets(arr);
gets(brr);
scanf("%d",&n);//复制的位数
for(i=0;arr[i]!='\0';i++)//计算arr的大小
{
num1 = num1 + 1;
}
for(j=0;brr[j]!='\0';j++)//计算brr的大小
{
num2 = num2 + 1;
}
printf("%d %d\n",num1,num2);
if(num1>=num2)//比较两个数组所占空间以及和复制位数的关系
{
if(num2<n)
{
num2 = n;
}
}
for(k=0;arr[k]!='\0';k++)//复制
{
brr[k] = arr[k];
if(k==n-1)
{
break;
}
}
brr[num2 ]='\0';
puts(brr);
return 0;
}
结果
123456
7895
5
6 4
12345
strcmp函数
#include <stdio.h>
#include <string.h>
int main(int argc, const char*argv[])
{
char arr[100];
char brr[100];
char a,b;
int i,j,k;
int flag = 1;
gets(arr);
gets(brr);
for(i=0;arr[i]!='\0'|| brr[i]!='\0';i++)
{
a = arr[i];
b = brr[i];
if( a > b)
{
printf("1\n");
flag = 0;
break;
}
else if(a < b)
{
printf("-1\n");
flag = 0;
break;
}
}
if(flag == 1)
{
printf("0\n");
}
return 0;
}
结果
123456
126584
-1
3.终端输入一个字符串,再输入一个字符a,判断这个字符在字符串有几个?
代码
#include <stdio.h>
#include <string.h>
int main(int argc, const char*argv[])
{
char arr[100];
char b,c;
int i;
int num = 0;
gets(arr);
b = getchar();
for(i=0;arr[i]!='0';i++)
{
c = arr[i];
if(b==c)
{
num = num +1;
}
}
printf("%d\n",num);
return 0;
}
结果
faiwhkajsda
a
3