Ⅰ 如何用c语言分离字符串中的字母和数字并分别输出
把字符串存放到数组里面,一个一个比对(循环)后输出
判断数字:
for (i=0;i<n;i++){
if ((p[i]>='0') && (p[i]<='9'))
printf();
判断字母:
for (i=0;i<n;i++){
if ((p[i]>='a') && (p[i]<='Z'))
printf();
(1)c语言怎么将数字和字母分开扩展阅读:
通常以串的整体作为操作对象,如:在串中查找某个子串、求取一个子串、在串的某个位置上插入一个子串以及删除一个子串等。两个字符串相等的充要条件是:长度相等,并且各个对应位置上的字符都相等。设p、q是两个串,求q在p中首次出现的位置的运算叫做模式匹配。串的两种最基本的存储方式是顺序存储方式和链接存储方式。
Ⅱ C语言如何将文本中连在一起的文字和数字分开,求教大神!
查看读取的ascii是否是char>=0x30&&char<=0x39这个是0-9的十六进制ascii码值
Ⅲ 请求c语言大神们帮我打一个能把一串字符“a1b23c”的数字和字母都能分开出来代码。跪谢
usingnamespacestd;
#include<iostream>
#include<string>
#include<regex>
intmain(){
stringt("a1b23c");
smatchm;
regexptnA("[a-zA-Z]");
regexptnD("[0-9]");
stringa,d,i=t;
while(regex_search(i,m,ptnA)){
a+=m.str();i=m.suffix();
}
cout<<"字母:"<<a<<endl;
i=t;
while(regex_search(i,m,ptnD)){
d+=m.str();i=m.suffix();
}
cout<<"数字:"<<d<<endl;
return0;
}
字母:abc
数字:123
试了一下C++11的正则
Ⅳ 输入一字符串 把其中的字母和数字分开输出 用c语言编写
#include<stdio.h>
void main()
{
char str[100];
char zimu[100];
char shuzi[100];
int i=0,j=0,k=0;
scanf("%s",str);
for(i=0;str[i]!='\0';i++)
if(str[i] >='0'&&str[i] <='9')//如果是数字,就放进shuzi数组
{shuzi[j]=str[i];j++;}
else //如果是字母,就放进zimu数组
{zimu[k]=str[i];k++;}
shuzi[j]='\0';//不要忘了结束符
zimu[k]='\0';
printf("%s\n",shuzi);//输出
printf("%s\n",zimu);
}
修改楼上的程序,经运行成功!!
关于素数的问题:
#include<stdio.h>
#include<math.h>
void main()
{
int i,m;
double k;
for(m=2;m<=100;m++)
{k=sqrt(m);
for(i=2;i<k&&m%i!=0;i++);
if(i>=k)
printf("%d ",m);
}
}
以上代码运行不正确、、
改为:#include<stdio.h>
#include<math.h>
void main()
{
int i,m;
double k;
for(m=2;m<=100;m++)
{k=sqrt(m);
for(i=2;i<=k&&m%i!=0;i++);
if(i>k)
printf("%d ",m);
}
}
Ⅳ C语言 分离字符串中的字母、数字、符号
#include"stdio.h"
#include"string.h"
int main()
{
static int num[5],i=0;//
char str[25];
puts("enter a string :");
gets(str);
while(str[i])
{
if ('A' <= str[i] && str[i] <= 'Z')
num[0]++
else if ('a' <= str[i] && str[i] <= 'z')
num[1]++;
else if ('0' <= str[i] && str[i] <= '9')
num[2]++;
else if (str[i] == ' ')
num[3]++;
else
num[4]++;
i++;
}
printf("big: %d\n", num[0]);
printf("small: %d\n", num[1]);
printf("number: %d\n", num[2]);
printf("blank: %d\n", num[3]);
printf("other: %d\n",num[4]);
}
Ⅵ c语言中怎样将字符串数组中的大小写字符和数字分开,如:“I have 15$”
相同类型的字符都位于一个范围之内,用ASCII码分开,比如判断是不是数字,可以这样
if(c>=48 && c<=57)
或者
if(c>="0" && c<="9")
把上面两句之一放在循环中,其中c是字符变量
Ⅶ 如何用c语言分离字符串中的字母和数字并分别输出
给出代码:
#include<iostream>
#include<cstdio>
#include<cstring>
#include<cctype>
usingnamespacestd;
intmain()
{
intnum,snum;
num=0;
snum=0;
chars[100];
charzi[100];
charfu[100];
scanf("%s",s);
for(inti=0;i<strlen(s);i++)
{
if(s[i]<='9'&&s[i]>='0')
{
zi[num]=s[i];
num++;
}
elseif(s[i]<='z'&&s[i]>='a'||s[i]<='Z'&&s[i]>='A')
{
fu[snum]=s[i];
snum++;
}
}
for(inti=0;i<=num;i++)
{
printf("%c",zi[i]);
}
cout<<endl;
for(intj=0;j<=snum;j++)
{
printf("%c",fu[j]);
}
return0;
}
Ⅷ 输入一字符串 按要求把其中的字母和数字分开输出 用c语言编写
#include<stdio.h>
main()
{
char*p,str[]="CSB0C11234C21234O21234H41234";
p=&str[5];
while(*p!='