计算字符串中空格的个数
/*计算字符串空格的个数
*/
#include<stdio.h>
#include<string.h>
int main()
{
char a[]={'\0'};
char b[100];
int i,t=0;
printf("请输入一串字符:\n");
gets(a);
for(i=0;i<strlen(a);i++)
{
if(a[i]==' ')
{
t++;
}
}
printf("%d\n",t);
return 0;
}
结果为:
计算字符串中is的个数
/*计算字符串种is的个数
char a[]="this is my book"
输出:is出现2次
*/
#include<stdio.h>
#include<string.h>
int main()
{
char a[]="this is my book";
char b[100];
int t=0;
strcpy(b,a);
char* c="is";
char* p=NULL;
for(p=strtok(b,c);p!=NULL;p=strtok(NULL,c))
{
t++;
}
printf("%s出现%d\n",c,t-1);
return 0;
}
结果为:
字符串匹配
/*字符串匹配
char a[]="ababcabcdabcde"
char b[]="abcd"
输出子串在主串的下标5出现
*/
#include<stdio.h>
#include<string.h>
int main()
{
char a[]="ababcabcdabcde";
char b[]="abcd";
printf("%d\n",strstr(a,b)-a);
return 0;
}
结果为:
判断字符串是否是回文字符串
/*判断字符串是否是回文字符串
char a[]="aba" 是回文字符串
char a[]="ab" 不是回文字符串
*/
#include<stdio.h>
#include<string.h>
int main()
{
char arr1[100];
int i,j=0,n=0;
char arr0[100];
int t=0;
while(n<2)
{
printf("请输入一串字符:\n");
gets(arr1);
n++;
for(i=strlen(arr1)-1;i>=0;i--)
{
arr0[j]=arr1[i];
j++;
}
for(i=0;i<strlen(arr1);i++)
{
if(arr1[i]!=arr0[i])
{
t++;
}
}
if(t==0)
printf("是回文字符串\n");
else
printf("不是回文字符串\n");
}
return 0;
}
结果为:
实现字符串排序
/*实现字符串排序
*/
#include<stdio.h>
#include<string.h>
int main()
{
char arr[]="qwertyuiopasdfghjklzxcvbnm",tmp;
int i,j,n;
n=strlen(arr);
for(i=1;i<n;i++)
{
for(j=0;j<n-i;j++)
{
if(arr[j]>arr[j+1])
{
tmp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=tmp;
}
}
}
printf("%s\n",arr);
return 0;
}
结果为:
删除字符串中的空格
/*删除字符串的空格
*/
#include<stdio.h>
#include<string.h>
int main()
{
char a[]="sf fa see g";
char* c=" ";
char* p=NULL;
for(p=strtok(a,c);p!=NULL;p=strtok(NULL,c))
printf("%s",p);
printf("\n");
return 0;
}
结果为: