qq_20510033
qq_20510033
2016-04-09 11:48
采纳率: 0%
浏览 1.4k

求指导c语言编程问题。

求大神c语言题目是提取字母
如输入
2
abc1abc
abc@@abc
输出
abc
abc

abc
abc
我现在就是输出后面有很多烫字加上\0也没用,求教
#include
#include
void fun(char *a)
{
int i,j,k=0,m=0;
char b[100][100];
for(i=0;a[i]!='\0';i++)
{
if((a[i]>='a'&&a[i]<='z')||(a[i]>='A'&&a[i]<='Z'))
{ b[k][m]=a[i];
m++;
}
else{k++;m=0;b[k][0]='1';}
}
for(j=0;j<=k;j++)
{
if(b[j][0]!='1')
{ puts(b[j]);
printf("\n");}
}
printf("\n");
}

int main()
{
int n,i;
char a[100][100];
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%s",a[i]);
}
for(i=0;i<n;i++)
{
fun(a[i]);
}
return 0;
}

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

5条回答 默认 最新

  • Gentle_Guan
    _Magic 2016-04-09 12:43

    #include
    #include

    int main()
    {
    char s[555555];
    int n,i,len,f=0;
    scanf("%d\n",&n);
    while (n--)
    {
    gets(s);
    for (i=0; s[i]!=0; i++)
    {
    if((s[i]>='a'&&s[i]<='z')||(s[i]>='A'&&s[i]<='Z'))
    {
    f=1;
    printf("%c",s[i]);
    }
    else if (f==1)
    {
    f=0;
    printf("\n");
    }
    }
    printf("\n");
    }
    return 0;
    }

    点赞 评论
  • Gentle_Guan
    _Magic 2016-04-09 12:44

    路子有点野,不过我看样列这样做应该对;;;

    点赞 评论
  • bi_jian
    毕健 2016-04-10 03:05

    不知道在CSDN中提问的程序能不能写的有点层次感呢,看着好难受。

    点赞 评论
  • github_27756899
    gh_99 2016-04-10 11:39
     //改为:  char b[100][100]={'\0'};
    
    点赞 评论
  • huatian5
    huatian5 2016-04-11 13:22

    你那个应该是a【i】【j】

    点赞 评论

相关推荐