C语言取出字符串中的字母
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言取出字符串中的字母相关的知识,希望对你有一定的参考价值。
输入任意一个字符串,如:“ asdadDADASDdazd5648z61cad5a6d4SADDA”顺序不能改变!并把大写字母变成小写,小写字母变成大写.
参考技术A #include <stdio.h>int main()
char s[100];
int i;
scanf("%s",s);
for(i = 0;s[i];i++)
if(a[i] >= 'a' && a[i] <= 'z') s[i] -= 'a' - 'A';
else if(a[i] >= 'A' && a[i] <= 'Z') a[i] -= 'A' - 'a';
printf("%s\n",s);
return 0;
参考技术B 在C语言中,可以通过遍历字符串并逐个字符取出的方式,实现取出字符串中的字母。具体的方法可以通过如下的代码实现:
```c
#include <stdio.h>
#include <ctype.h>
int main()
char str[] = "Hello, World";
int len = strlen(str);
int i;
//遍历字符串并取出字母
for(i=0; i<len; i++)
char c = str[i];
if(isalpha(c))
printf("%c", c);
return 0;
```
在这段代码中,首先定义了一个字符串“Hello, World”,然后使用strlen函数获取字符串的长度,接着使用for循环遍历字符串的每个字符。使用isalpha函数判断待取出字符是否为字母,如果是则通过printf函数输出字母。这样就可以取出字符串中的所有字母。 参考技术C #include <stdio.h>
int main(int argc, char *argv[])
char a[100];
int i;
scanf("%s",&a);
for(i=0;a[i]!=0;i++)
if(a[i]>='a'&&a[i]<='z')
a[i]-=32;
else if(a[i]>='A'&&a[i]<='Z')
a[i]+=32;
printf("%s\n",a);
return 0;
本回答被提问者采纳
如何用C语言将字符串中除字母的其他符号删除
急
建立一个for循环,从下标为0开始逐字检测字符串元素,对应的ASCII码在'a'(97)至'z'(122)之间的是小写字母,在'A'(65)至'Z'(90)之间的是大写字母,是字母的依次存入同一个数组,问题就解决了。举例代码如下:
//#include "stdafx.h"//If the vc++6.0, with this line.#include "stdio.h"
int main(void)
char a[100]="jfk839hfkhd89jl9t5ugifogjshb1783fhdahpp[qhfud",i,j;
for(j=i=0;a[i];i++)
if(a[i]>='a' && a[i]<='z' || a[i]>='A' && a[i]<='Z')//判断是否为字母
//if(a[i]>=97 && a[i]<=122 || a[i]>=65 && a[i]<=90)//这样写也可以
a[j++]=a[i];
a[j]='\\0';
printf("%s\\n",a);//Look at...
return 0;
参考技术A #include "stdio.h"
void check(char str[])
int i=0,j=0;
char ch;
ch=str[i];
while(ch!='\0')
if(ch>='A'&&ch<='Z'||ch>='a'&&ch<='z')
str[j]=ch;
j++;
i++;
ch=str[i];
str[j]='\0';
经本人亲自测试通过,希望can help you 。
(编译环境:Dev c++ 4.9.2) 参考技术B int i,j;
int len;
char temp;
for(i=0;i<len;i++)
if(!isalpha(s[i]))
for(j=i;j<len-1;j++)
s[j]=s[j+1];
--len;
else
continue;
len为字符串s[]的长度
以上是关于C语言取出字符串中的字母的主要内容,如果未能解决你的问题,请参考以下文章