C语言“在字符串中删除指定的字符”?怎么编写程序
从字符数组中删除特定的字符,即输入要删除的指定字符,利用for循环找到非指定字符,将非指定字符输出即可。以下为具体的实现方法:
#include<stdio.h>
int main()
{
char str[100],c;
int j,k;
printf("please input a string:");
gets(str);
printf("\nEnter a character:");
c=getchar();
for(j=k=0;str[j]!='\0';j++)
if(str[j]!=c)
str[k++]=str[j];
str[k]='\0';
printf("\n%s",str);
}
<pre name="code" class="cpp">please input a string:wqeqwe
Enter a character:w
qeqePress any key to continue
c语言
C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。
尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。
比如删除指定的字符在字符串中第一个出现的位置
void strdel( char* str, char ch )
{
char *p = str;
while( *p )
{
if( *p==ch )
break;
}
if( *p )
{
while( *p )
{
*p==*(p+1);
p++;
}
}
}
#include<stdio.h>
void main()
{
int i=0,j,k;
char array[20];
printf("please input this array\n");
scanf("%s",array);
while(array[i++]);//求出字符数组中所含元素的个数
for(j=0;j<i-1;j++)
{
if(array[j]=='a')//假设制定字符为a的话
for(k=j;k<i-1;k++)
array[k]=array[k+1];
}
}
我没在电脑上调试。不对的话告诉我,到时我再改。这电脑上没VC。
void main()
{ char a[100];
int i,j;
printf("Enter a string:");
gets(a);
for(i=j=0;a[i]!='\0';i++)
{ if(a[i]!='k')
a[j++]=a[i];}
a[j]='\0';
puts(a);
}