实现字符串内插入字符的两种方法
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#if 0
int main()
{
char str[32] = {0};
int num, i;
char ch;
printf(“Please input…\n”);
scanf("%s%d %c", str, &num, &ch);
int length = strlen(str);
for (i = 0; i < length - num + 1; i++)
{
str[length - i] = str[length - 1 - i];
}
str[num - 1] = ch;
printf("%s\n", str);
return 0;
}
#endif
int main()
{
char *ptr = (char *)malloc(sizeof(char) * 32);
int num, i;
char ch;
scanf("%s%d %c", ptr, &num, &ch);
int length = strlen(ptr);
for (i = 0; i < length - num + 1; i++)
{
*(ptr + length - i) = *(ptr + length - 1 - i);
}
*(ptr + num - 1) = ch;
("%s\n", ptr);
return 0;
}
求字符串中子串的个数
include <stdio.h>
#include <string.h>
int main()
{
char a[32] = {0};
char b[32] = {0};
char c[32] = {0};
int num = 0, i, j;
printf(“input ch and son:\n”);
scanf("%s%s",&a,&b);
int lengtha = strlen(a);
int lengthb = strlen(b);
for(i = 0; i < lengtha - lengthb + 1; i++)
{
for(j = 0; j < lengthb; j++)
{
c[j] = a[i + j];
}
if(strcmp(b,c) == 0)
{
num++;
i += (lengthb -1);
}
}
printf("%d time(s)\n",num);
return 0;
}
逆序输出字符串
#include <stdio.h>
#include <string.h>
int main()
{
char a[32];
char b[32];
int i;
printf(“input char:\n”);
scanf("%s",&a);
int length = strlen(a);
for(i = 0; i < length; i++)
{
b[i] = a[length - 1 - i];
}
printf("%s\n",&b);
return 0;
}