C语言:用一个字符数组从键盘输入一个字符串,删除字符串中所有非字母字符,然后将删除后的结果输出。

供稿:hz-xin.com     日期:2025-01-15
C语言-删除字符串中指定的字符

利用C语言删除字符串中所有指定的字符方法如下:
1.基本方法是,编写函数fun:deletechar()。这个函数需要接受两个参数的传入,一个为该字符串str,另一个为想删除的字符c。通过对整个字符串的逐个遍历,凡是检测到字符为c,则删除此字符。具体实现代码如下:

2.在主函数,只需要接受用户输入的字符串,然后调用deletechar()函数,最后输出结果即可。主函数代码实现部分如下:

扩展资料:
1.remove()是C语言中的函数,一般作用是删除数组、链表对象所有的元素。函数原型是

2.remove()函数用于删除指定的文件,其原型如下:

参考资料:remove()函数-百度百科

程序:
#include
#include
#define N 100
void main()
{
int i=0,j;
char c,str[N];
printf("输入字符串str:
");
while((c=getchar())!='
')
{
str[i]=c;//输入字符串
i++;
}
str[i]='\0';
for(i=0;str[i]!='\0';i++)
{
if(str[i]==' ')
{
for(j=i+1;str[j]!='\0';j++)
{
str[j-1]=str[j];
}
str[j]='\0';
}
else continue;
}
str[i-2]='\0';
printf("去掉空格后的字符串为:
");
for(i=0;str[i]!='\0';i++)
printf("%c",str[i]);
printf("
");
}
运行结果:
输入字符串str:
ing ing ing
去掉空格后的字符串为:
inginging
Press any key to continue

#include <stdio.h>

int main()

{

char a[80];

gets(a);

int i, j = 0;

for(i=0; a[i]; i++)

if((a[i] >= 'a' && a[i] <='z') || (a[i] >='A' && a[i] <= 'Z'))

{

a[j] = a[i];

j++;

}

a[j] = '\0';

puts(a);

return 0;

}

扩展资料:

main函数用法

1、C++中的main函数

C++继承了C语言的大部分特性,因此保留了“程序总是从main函数开始执行,且总是默认从main函数的return语句或结尾处结束运行”这一传统,但是要注意,C++中的main函数要想作为程序执行的出入口,必须写在全局(Global)范围,

不能写成某个结构体或某个类的成员。虽然main函数可以作为结构体或者类的成员函数,但相应地会失去作为程序出入口的功能。

C++中全局main函数的书写格式与C语言完全相同,功能也完全相同,且同一C++程序同样只能有一个全局main函数。

2、Java中的main函数

Java同样是以main函数作为程序执行出入口的,但Java作为“更纯洁”的面向对象语言,它的main函数与C/C++有很大的不同。

首先,返回值的概念淡化,在Java Application中main不允许返回值,因此int main是被禁止的,必须使用void main,int main仅限在JavaBean中使用。

其次,Java中所有的函数必须属于类,没有什么全局函数一说,因此main函数不能是全局成员,必须是某个类的成员。

第三,由于main函数变成了类的成员函数,因此要想直接被系统调用,还必须使用public static使其成为静态函数并具有公开权限。

第四,main函数的参数被简化,只需要提供字符串数组即可,不需要提供参数个数(这是由于Java的数组具有下标检查功能的原因)

Java Application中的main函数一般格式如下(类名可以自定义,但保存为Java源码时,主文件名必须与类名相同,否则可能无法运行)

public class MainDemo{

public static void main(String[]args){

//TODO:在此处写入主函数的内容

}

}

Java Applet的运行机制与Java Application完全不同,因此不需要main函数

3、C#中的main函数

C#中的main函数与Java大同小异,同样必须是类成员,同样使用字符串数组作唯一参数,同样是静态函数,同样的void main,

与之不同的是:main的首字母变成了大写,即"Main函数“,且是否限定为public级别已经无所谓了(默认没有public,但某些场合可能还是需要public)

另外,需要注意的是,C#中不再有”类名必须与主文件名同名“的限制,即使类名不和主文件名相同,程序照样可以运行。

C#应用程序中的main函数默认是这样的(注意main的首字母已是大写)

C#和C/C++、java不同的是C#不在拘泥于必须从main()函数开始执行,C#是属于事件触发。

class Program{

static void Main(string[]args){



1 遍历字符串;

2 对每个字符判断,如果不是字母,则删除。


删除可以通过后续字符前移,覆盖要删除字符的方式实现。

代码如下:

int main()
{
    char s[100];
    int i,j;
    scanf("%s",s);
    for(i = j = 0; s[i]; i ++)
    {
        if(s[i] >= 'a' && s[i] <= 'z' ||s[i] >= 'A' && s[i] <= 'Z' )
            s[j++] = s[i];
    }
    s[j] = 0;
    
    printf("%s
",s);
}


#include<stdio.h>
#include<string.h>
#include<conio.h>
int main()
{
char str[256],str2[256];
scanf("%s",str);
for(i=0;i<strlen(str);i++)
if((str[i]>=65&&str[i]<=90)||(str[i]>=97&&str[i]<=122))
{
str2[j]=str[i];j++;
}
str2[j]='\0';
printf("%s",str2);
getch();
}
刚写的
-物联网校企联盟技术部

定义数组char str[20],从键盘输入一个字符串存入该数组中
include <stdio.h>int main(){ char str[20]; scanf("%s",str);\/\/输入 printf("%s\\n", str);\/\/输出 return 0;}希望你要的是C语言的。

在C语言中如何实现用键盘输入一个字符串,并打印出来
在C语言中实现用键盘输入字符串并打印的方法步骤如下:首先,需定义一个数组空间用于存放字符串,例如分配100个数组单元。接着,使用gets()函数读取键盘输入的字符串,调用格式为gets(字符数组名)。然后,应用puts()函数输出之前读取的字符串内容,使用方法为puts(字符数组名)。最后,运行程序,即可成功...

在C语言中如何实现用键盘输入一个字符串,并打印出来
在C语言中输入并打印字符串的编程方法如下:定义一个存放字符串的数组空间,比如为字符串分配100个数组空间。使用gets()函数获取键盘输入的字符串,输入格式为gets(定义的字符数组名)。使用puts()函数输出之前输入的字符串,输出格式为puts(定义的字符数组名)。运行程序后,成功实现输入字符串并原样在...

c语言从键盘输入一字符串
include <stdio.h> int main(){ char str[100];long long an[100];int cnt=0,i=0,f=0;printf("Please input a string:");gets(str);while(str[i]){ if(str[i]>='0'&&str[i]<='9'){ if(f==1){ an[cnt]=an[cnt]*10+str[i]-'0';} if(f==0){ cnt++;f=1;an[...

求大神⊙▽⊙ C语言程序 从键盘输入一个字符串(少于80个字符)存入字符...
include <stdio.h>#include <string.h>int main(){char str[80];int i,j=0,n=0;gets(str);for(i=0;i<strlen(str);i++){if(str[i]>='0'&&str[i]<='9')j++;else if((str[i]>='a'&&str[i]<='z')||(str[i]>='A'&&str[i]<='Z'))n++;}printf("字母的个数%d...

从键盘上输入一个字符串,放在数组中,要求将字符串中的大写字母转换成小...
:isupper函数来检查是否为大写字母,如果是,就使用std::tolower函数将其转换为小写字母。如果字符是小写字母,它使用std::toupper函数将其转换为大写字母。最后,程序输出转换后的字符串。你可以将上述代码复制到C++编译器中,输入一个字符串来测试它。这个程序演示了如何处理字符串中的大小写转换。

C语言,从键盘输入一字符串,将其中的小写字母全转换成大写字母后输出。小...
include<stdio.h>char toupper(char c){ if(c>='a'&&c<='z')c-=32; return c;}int main(){ char s[200]; int i; gets(s); for(i=0; s[i]; i++) s[i]=toupper(s[i]); printf("%s\\n",s); return 0;} ...

从键盘输入一个字符串放在字符数组ss中,假设ss的大小是30,求输入的字符...
include<stdio.h>int fun(char ss[]){int i,n=0; for(i=0;ss[i];i++) n+=ss[i]=='a'; return n; }main(){char ss[30];int i,n;gets(ss); n=fun(ss) ;printf("%d\\n",n);}

C语言问题:先从键盘输入一个字符串存放在字符数组a中,再将a元素的所有...
h> include<string.h> void main(){ char a[100]="",b[100]="";int i=0;int j=0;gets(a);while(a[i]!='\\0'){ if(a[i]>='a'&&a[i]<='z'){ b[j++]=a[i];} i++ ;} puts(b);} strcpy的结果每次都把a的值拷贝到b里,结果是b和a一样或b是空字符串 ...

c语言编程 从键盘输入一字符串存入到数组a 中,然后将所有下标为奇数的元...
include<stdio.h> main(){ char a[256],b[256];register int i=0,j=0;scanf("%s",a);while(a[i]!='\\0')if(i%2==1){ b[j]=a[i];j++;} b[j]='\\0';printf("%s",b);}