當前位置:首頁 » 編程語言 » 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次。
其實就是針對小寫字母做冒泡把非小寫字母排除在外不動它就是了。
大寫和數字的可以循環完成。
具體實現我就不把代碼寫出來了,你不明白的再問吧