3个回答
展开全部
建立一个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;
}
展开全部
#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)
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)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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[]的长度
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[]的长度
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询