如何用c语言分离字符串中的字母和数字并分别输出

 我来答
百度网友4de7b94
2015-06-05 · TA获得超过8158个赞
知道小有建树答主
回答量:1423
采纳率:93%
帮助的人:60.1万
展开全部
给出代码: 
#include <iostream>

#include <cstdio>

#include <cstring>

#include <cctype>

using namespace std;

int main()

{

    int num,snum;

    num=0;

    snum=0;

    char s[100];

    char zi[100];

    char fu[100];

    scanf("%s",s);

    for(int i=0;i<strlen(s);i++)

    {

        if(s[i]<='9'&&s[i]>='0')

        {

            zi[num]=s[i];

            num++;

        }

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

        {

            fu[snum]=s[i];

            snum++;

        }

    }

    for(int i=0;i<=num;i++)

    {

        printf("%c",zi[i]);

    }

    cout<<endl;

    for(int j=0;j<=snum;j++)

    {

        printf("%c",fu[j]);

    }

    return 0;

}
晓泪ALEX的ABAP铺子
2010-12-14 · TA获得超过437个赞
知道小有建树答主
回答量:235
采纳率:100%
帮助的人:166万
展开全部
先定义两个字符串数组变量a,b。。。。然后把原来的字符串进行遍历,判断每个字符的ACSSII码。。在数字区间的存在a中。。。字母的存在b中。。。然后再把a,b输出。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Wings_sysu
2010-12-14 · TA获得超过535个赞
知道答主
回答量:89
采纳率:0%
帮助的人:97.2万
展开全部
#include<iostream>
#include<string>
using namespace std;
int main(){
string s;
char *s1=new char[256],*s2=new char[256];
cout<<"请输入字符串:\n";
cin>>s;
int j1=0,j2=0;
for(int i=0;s[i];i++){
if(s[i]<='9'&&s[i]>='0'){
s1[j1]=s[i];
j1++;
}
if(s[i]<='z'&&s[i]>='a'||s[i]<='Z'&&s[i]>='A'){
s2[j2]=s[i];
j2++;
}
}
s1[j1]=0,s2[j2]=0;
cout<<"输入字符串中包含的数字字符串为:";
cout<<s1<<endl;
cout<<"输入字符串中包含的字母字符串为:";
cout<<s2<<endl;
return 0;
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
gaochenglong23
2010-12-14
知道答主
回答量:10
采纳率:0%
帮助的人:6.8万
展开全部
班门弄斧一下吧;大师们勿怪

char c[]="123asdf564afg" ,c1[100] ,c2[100];
int len=sizeof(c)/sizeof(char);
int i ,j =0,k=0;
for(i=0 ;i<len ;i++)
{
if(c[i]<'9'&&c[i]>'0')
{
c1[j++]=c[i];
}
else if(c[i]<'z'&&c[i]>'A')
c2[k++]=c[i];
}
c1[j]='\0';
c2[k]='\0';
puts[c1];
puts[c2];
主程序完善一下就行了
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
喜洋洋122
2010-12-14 · TA获得超过4069个赞
知道小有建树答主
回答量:535
采纳率:0%
帮助的人:502万
展开全部
#include"stdio.h"

void main()
{
char c,zimu[200],shuzi[200];
int i=0,j=0,k,l;
printf("please input one string:\n");
while((c=getchar())!='\n')
{
if((c>='a'&&c<='z')||(c>='A'&&c<='Z'))
{
zimu[i]=c;
i++;
}
else if(c>='0'&&c<='9')
{
shuzi[j]=c;
j++;
}
}
k=i+1;
l=j+1;
printf("zimu:\n");
for(i=0;i<k;i++)
printf("%c",zimu[i]);
printf("\nshuzi:\n");
for(j=0;j<l;j++)
printf("%c",shuzi[j]);
}
测试通过
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式