1.改写strcat
char ch5[20]="abcd";
char ch6[30]="1234";
//改写strcat
char ch5[20]="abcd";
char ch6[30]="1234";
int c=strlen(ch5); //获取ch5字符串'\0'的位置
int d=strlen(ch6); //获取ch6字符串'\0'的位置
printf("c:%d,d:%d\n",c,d);
for(int j=0;j<d;j++){
ch5[c]=ch6[j]; //将ch6的字符串依次拼接到ch5的后面
c++;
}
printf("ch5:%s,ch6:%s\n",ch5,ch6);
2.改写strcmp
char str1[10]="12345";
char str2[20]="12345";
int a=0;
for(int i=0;;i++){
if(str1[i]!=str2[i]){
a=str1[i]-str2[i];
break;
}else{
a=0;break;
}
}
printf("a=%d\n",a);
3.获取字符串,判断大小写字母个数和数字字符个数
char ch1[100];
scanf("%s",ch1);
int a=0,b=0,c=0; //a记录小写字母个数,b记录大写字母个数,c记录数字字符个数
for(int i=0;i<strlen(ch1);i++){
if(ch1[i]<='z'&&ch1[i]>='a'){
a++;
}else if(ch1[i]<='Z'&&ch1[i]>='A'){
b++;
}
else if(ch1[i]<='9'&&ch1[i]>='0'){
c++;
}
}
printf("输出字符串为:%s\n",ch1);
printf("a:%d,b:%d,c:%d\n",a,b,c);
4.倒置存储
char ch2[100];
char ch3[200];
scanf("%s",ch2);
int j=0;
for(int i=strlen(ch2)-1;i>=0;i--){
ch3[j]=ch2[i];
j++;
if(j==strlen(ch2)){
ch3[j]='\0';
}
}
printf("倒置后的字符串为:%s\n",ch3);
printf("%d\n",strlen(ch3));
5.终端获取字符串,删除其中的空格
char ch4[100],ch5[100];
gets(ch4);
int j=0,m=0;
for(int i=0;i<strlen(ch4);i++){
if(ch4[i]!=' '){
ch5[j]=ch4[i];
j++;
}
if(ch4[i]==' '){
m++;
}
}
printf("删除空格后的字符数组:%s,删除的空格个数为:%d\n",ch5,m);
6.杨辉三角
int arr1[10][10]={};
int j,k;
for(j=0;j<10;j++){
arr1[j][0]=1;
arr1[j][j]=1;
for(k=0;k<=j;k++){
if(j>=2){
arr1[j][k]=arr1[j-1][k-1]+arr1[j-1][k];
}
printf("%-5d",arr1[j][k]);
}
printf("\n");
}