当前位置:首页 » 编程语言 » c语言怎么将数字和字母分开
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言怎么将数字和字母分开

发布时间: 2022-05-26 16:04:41

Ⅰ 如何用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!='')

{

printf("%c%c=",*p,*(p+1));

p+=2;

while(1)

{

if(*p>='0'&&*p<='9')

{

printf("%c",*p++);

}else

{

break;

}

}

printf(" ");

}

}

Ⅸ 编写程序,把字符串中的数字字符,英文字母字符和其他字符分开。C语言怎么写

#include <stdio.h>int main() {
int i = 0,j = 0,k = 0;
char s[100],alab[100],alpha[100],other[100],*p;
printf("请输入字符串 : ");
gets(s);
p = s;
while(*p) {
if((*p >= '0') && (*p <= '9')) alab[i++] = *p;
else if((*p >= 'a') && (*p <= 'z')) alpha[j++] = *p;
else if((*p >= 'A') && (*p <= 'Z')) alpha[j++] = *p;
else other[k++] = *p;
++p;
}
alab[i] = '\0';
alpha[j] = '\0';
other[k] = '\0';
printf("阿拉伯数字串 : %s\n",alab);
printf("英文字符串 : %s\n",alpha);
printf("其他字符串 : %s\n",other);
return 0;
}

Ⅹ C语言如何实现字符串中字符和数字分开排序

给你个思路吧,你能实现小写的排序,编程本身应该难不到你
程序直接分三部分写,小写的排序,大写的排序,数字的排序。这三个部分可以循环完成。
在小写的排序中这样实现:
1.搞两个指针从前往后找(不想用指针,直接用整形标记下标也行)
2.找到依次两个小写字母,若第一应该在第二之后,交换这两个的位置
3.第一指针指向第二个的位置,第二个继续找下一个小写字母,然后重复步骤2到尾部结束。
4.记录下小写字母的个数n。以上1-3再重复n-1次。
其实就是针对小写字母做冒泡把非小写字母排除在外不动它就是了。
大写和数字的可以循环完成。
具体实现我就不把代码写出来了,你不明白的再问吧