1.strcat函数及改写strcat
#include <stdio.h>
#include <string.h>
int main(int argc, const char *argv[])
{
/*
char str[10]="asd";
char str1[20]="123";
strcat(str,str1);
printf("str=%s\n str1=%s\n",str,str1);
*/
//改写strcat
/*
char str[10]="asd";
char str1[20]="123";
int len=strlen(str);
printf("str的长度为%d\n",len);
for(int i=0;str1[i]!='\0';i++)
{
str[len+i]=str1[i];
}
printf("str=%s\nstr1=%s\n",str,str1);
*/
char str2[20];
char str3[30];
scanf("%s",str2);
printf("str2的输入为%s\n",str2);
scanf("%s",str3);
printf("str3的输入为%\ns",str3);
int len1=strlen(str2);
for(int j=0;str3[j]!='\0';j++)
{
str2[len1+j]=str3[j];
}
printf("str2=%s\n str3=%s\n",str2,str3);
return 0;
}
2.strcmp函数及改写strcmp
#include <stdio.h>
#include <string.h>
int main(int argc, const char *argv[])
{
/*
char str[100]="12345";
char str1[100]="13456";
int a=strcmp(str,str1);
printf("%d",a);
*/
//改写strcmp
char str[100]="12345";
// char str1[100]="12456"i;
char str1[100]="12345";
for(int i=0;;i++)
{
if(str[i]!=str1[i])
{
printf("%d",str[i]-str1[i]);
break;
}
if('\0'==str[i]&&'\0'==str1[i])
{
printf("0");
break;
}
}
return 0;
}
3.字符串倒置
#include <stdio.h>
#include <string.h>
int main(int argc, const char *argv[])
{
char arr[100];
char arr1[100];
scanf("%s",arr);
int j=0;;
for(int i=strlen(arr)-1;i>=0;i--)
{
arr1[j]=arr[i];
j++;
}
printf("倒置为%s",arr1);
printf("%d",strlen(arr1));
return 0;
}
4.字符串删除空格
#include <stdio.h>
#include <string.h>
int main(int argc, const char *argv[])
{
char arr[100];
int a=0;
char arr1[100];
gets(arr);
for(int i=0;i<strlen(arr);i++)
{
if(' '!=arr[i]){
arr1[a]=arr[i];
a++;
}
}
printf("%s",arr1);
return 0;
}
5.杨辉三角
#include <stdio.h>
int main(int argc, const char *argv[])
{
int arr[10][10];
for(int i=0;i<10;i++)
{
for(int j=0;j<=i;j++)
{
if(0==j)
{
arr[i][0]=1;
}else if(i==j)
{
arr[i][j]=1;
}
else{
arr[i][j]=arr[i-1][j-1]+arr[i-1][j];
}
}
}
for(int i=0;i<10;i++)
{
for(int j=0;j<=i;j++)
{
printf("%-4d",arr[i][j]);
}printf("\n");
}
return 0;
}
6.判断该字符串中有几个大写字母,几个小写字母,几个数字字符
#include <stdio.h>
#include <string.h>
int main(int argc, const char *argv[])
{
char arr[100];
scanf("%s",arr);
int a=0,b=0,c=0;
for(int i=0;i<strlen(arr);i++)
{
if('a'<arr[i]&&'z'>arr[i])
{
a++;
}
else if('A'<arr[i]&&'Z'>arr[i])
{
b++;
}
else if('0'<arr[i]&&'9'>arr[i])
{
c++;
}
}
printf("小写字母个数为%d\n大写之母个数为%d\n数字字符个数为%d\n",a,b,c);
return 0;
}