如何用c语言分离字符串中的字母和数字并分别输出
5个回答
展开全部
给出代码:
#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;
}
展开全部
先定义两个字符串数组变量a,b。。。。然后把原来的字符串进行遍历,判断每个字符的ACSSII码。。在数字区间的存在a中。。。字母的存在b中。。。然后再把a,b输出。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#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;
}
#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;
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
班门弄斧一下吧;大师们勿怪
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];
主程序完善一下就行了
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];
主程序完善一下就行了
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#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]);
}
测试通过
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]);
}
测试通过
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询