| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1353 人关注过本帖
标题:字符串 去掉字母
只看楼主 加入收藏
浅暗花璃
Rank: 1
等 级:新手上路
帖 子:53
专家分:0
注 册:2016-3-31
结帖率:77.78%
收藏
已结贴  问题点数:20 回复次数:4 
字符串 去掉字母
#include <stdio.h>
void main()
{
    char a[10],*ch;
    int i=1;
   
    gets(a);
    for(ch=a;ch<a+5;ch++)
    {*ch=*(ch+1);
   
    if(*ch=='a')
        i++;
        *ch=*(ch+i);}

   
    a[5]='\0';
    printf("%s",a);
}
程序错在哪
搜索更多相关主题的帖子: 字母 字符串 include 
2016-04-03 19:46
qq1023569223
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:湖南科技大学
等 级:贵宾
威 望:26
帖 子:2753
专家分:13404
注 册:2010-12-22
收藏
得分:5 
程序代码:
#include <stdio.h>
#include <ctype.h>

void f(char* s,int position)
{
    s=s+position;  //前进到指定位置

    for(;*s!='\0';s++)  //字符左移
    {
        *s=*(s+1);
    }
}
int main()
{
    char s[10]="11a3b400c";

    int i=0;

    for(;i<10;i++)  //查找每个字符
    {
        if(isalpha(s[i]))  //如果是字母
        {
            f(s,i);  //去掉这个位置字母
            i--;  //此为重点,因为移动的原因,如果左移的第一个仍是字母,则还要原位再次检查
        }
    }

    printf("%s\n",s);
    
    return 0;
}

   唯实惟新 至诚致志
2016-04-03 22:41
初学李阳
Rank: 2
来 自:江西新余
等 级:论坛游民
帖 子:6
专家分:10
注 册:2016-3-28
收藏
得分:5 
回复 楼主 浅暗花璃
感觉完全错了啊,你要除掉字符串里的字母,用指针指向,还不如用数组,指针指向的判断也应该是‘a’>'z'&&'A'>'Z';符合就删掉,或者建一个新字符串组,把符合的不放进去
2016-04-03 23:21
浅暗花璃
Rank: 1
等 级:新手上路
帖 子:53
专家分:0
注 册:2016-3-31
收藏
得分:0 
去掉字母a,如果a不在字符串的首端,就达到了效果,其他往前移,如果a在首端,就不行了
2016-04-04 12:18
书生牛犊
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:星夜征程
等 级:贵宾
威 望:10
帖 子:1101
专家分:5265
注 册:2015-10-27
收藏
得分:5 
以下是引用浅暗花璃在2016-4-3 19:46:17的发言:

#include  
void main()
{
    char a[10],*ch;
    int i=1;
     
    gets(a);
    for(ch=a;ch!=‘\0’;ch++)
程序代码:
# include<stdio.h>

 void zuobi(char*ch){//作弊!不修改字符串,只输出结果


 for(;*ch!='\0';ch++){
    if(*ch>='a'&&*ch<='z'or*ch>='A'&&*ch<='Z')continue;//是字母就跳过

    printf("%c",*ch);//不是就输出

}   


 }
int main()
{
char a[10];
gets(a);

 zuobi(a);

 printf("\n--\n");


 /*----- */

 char*ch=a;

 char*result=a;
do{
    if(not(*ch>='a'and*ch<='z'or*ch>='A'and*ch<='Z')){
    *result++=*ch;
    }
    *ch++;
}while(*ch!='\0');
*result='\0';
printf("%s",a);
return 0;
} 


φ(゜▽゜*)♪
2016-04-05 12:09
快速回复:字符串 去掉字母
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.033904 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved