例题1:字符数组S中删除存放在C中的字符
#include <stdio.h>
#include <string.h>
int main()
{
char str[105],ch;
int i,j;
printf("please input a string:");
gets(str);
printf("\nEnter a character:");
ch = getchar();
j = 0;
for(i=0;str[i]!='\0';i++)
{
if(str[i] != ch)
str[j++] = str[i];
}
for(i=0;i<j;i++)
{
printf("%c",str[i]);
}
printf("\n");
return 0;
}
例题2:在一个字串s1中查找一子串s2,若存在则返回s1中s2的个数和位置
#include <stdio.h>
#include <string.h>
int main()
{
char s1[105],s2[10];
int i,j,k,len1,len2,b[10];
gets(s1);
gets(s2);
len1 = strlen(s1);
len2 = strlen(s2);
k=0;
for(i=0;i<len1;i++)
{
for(j=0;j<len2;j++)
{
if(s1[i+j] != s2[j])
break;
}
if(j>=len2)
b[k++] = i+1;
}
printf("%d\n",k);
for(i=0;i<k;i++)
{
printf("%d ",b[i]);
}
printf("\n");
return 0;
}
例题3:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数
#include<stdio.h>
int main()
{
char c;
int letters=0,spaces=0,digits=0,others=0;
printf("请输入一串任意的字符:\n");
while((c=getchar())!='\n')
{
if((c>='a'&&c<='z')||(c>='A'&&c<='Z'))
letters++;
else if(c>='0'&&c<='9')
digits++;
else if(c==' ')
spaces++;
else
others++;
}
printf("字母有%d个,数字有%d个,空格有%d个,其他有%d个",letters,digits,spaces,others);
return 0;
}
例题4:实现输入一串字符串,将字符串当中的大小写互换
#include<stdio.h>
#include<string.h>
int main()
{
char a[100];
char b[100];
gets(a);
int len = strlen(a);
strcpy(b, a);
for (int i = 0; i < len; i++)
{
if (b[i] >= 'a'&&b[i] <= 'z')
b[i] = b[i] - 32;
else if (b[i] >= 'A'&&b[i] <= 'Z')
b[i] = b[i] + 32;
else
continue;
}
b[len] = '\0';
puts(b);
return 0;
}