當前位置:首頁 » 編程語言 » 將字元串中的數字提取出來c語言
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

將字元串中的數字提取出來c語言

發布時間: 2022-06-07 21:25:41

c語言如何把一個字元串中的數值全提取出放在一個數組裡面

首先,C語言沒有字元串類型,但是字元數組或者字元指針可以表示字元串。 所以你可以把幾個字元串分別放到幾個不同數組: 例如: char str1[10] = "abcdefg";char str2[10] = "qwerty";注意,定義字元數組時可以使用=直接賦值,非定義階段,不能...

⑵ C語言 將用戶輸入的字元串中的所有數字提取出來

#include<stdio.h>

#include<math.h>

#include<stdlib.h>

intmain()

{

intz=0;

intt,i;

int*p;

intm=0;

ints=0;

chara[10];//輸入一個字元串到a[6]

printf("請輸入一個字元串 ");

scanf("%s",a);//輸入字元串

for(i=0;i<10;i++)//計算a[6]中的數字個數

{

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

m++;

}

if(m==0)

printf("字元串中沒有數字 ");

p=(int*)calloc(m,sizeof(int));//動態數組

for(i=0;i<10;i++)

{

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

{

*(p+s)=a[i]-48;

s++;

}

}

//組成新的整數

for(t=0;t<m;t++)

{

z+=(*(p+t))*pow(10,m-(t+1));//組成新的整數

}

printf("新組成整數:%d ",z);

free(p);

}

kuo

(2)將字元串中的數字提取出來c語言擴展閱讀

C語言實現將字元串的數字提取為整數

#include<stdio.h>

intStringToInteger(char*p)

{

intvalue=0;

while(*p!='')

{

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

{

value=value*10+*p-'0';

}

p++;

}

returnvalue;

}

intmain(void)

{

char*str="112.123.156.1";

intval=0;

val=StringToInteger(str);

printf("value=%d ",val);

getchar();

return0;

}

⑶ C語言提取字元串中的所有數字

#include<stdio.h>
int
main()
{
char
str[1000];//保存讀取到的字元串
long
sum=0,data[1000];
int
i=0,top=0;
printf("輸入字元串:\n");
scanf("%s",str);
while(str[i]!='\0')//未到字元串末尾
{
if(str[i]>='0'&&str[i]<='9')//如果是數字
sum=sum*10+(str[i]-'0');//連續數字轉換為數.
else
if(sum!=0)//保存這個數
{
data[top++]=sum;
sum=0;
}
i++;
}
if(sum!=0)//判斷最後一個字元是否是數
data[top++]=sum;
printf("字元串中的數字是:\n");
i=0;
while(i<top)
{
printf("%ld",data[i]);
if(i<top-1)//不列印最後一個逗號
printf(",");
i++;
}
printf("\n");
system("pause");
return
0;
}

⑷ 如何用c/c++把一個字元串把里邊的數字提取出來

給定一個數字字元串,把這個串里邊的連續數字提取出來放到另外一個整型數組中一個單元中:

#include<iostream>

#include<string>

using namespace std;

void tiqu(char*a,int*b)

{

int j=0;

bool key=false;

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

{

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

{

if(key)

b[j] = b[j]*10+a[i]-'0';

else

b[j] = a[i]-'0';

key = true;

}

else

{

if(key)

++j;

key = false;

}}

}

void main()

{

int b[100];

char a[100]="abc123v34ghajkg4568";

tiqu(a,b);

int i=0;

while(b[i++]>=0)

{

cout<<b[i-1]<<endl;

}

}

(4)將字元串中的數字提取出來c語言擴展閱讀:

1、字元庫函數

所在函數庫為【ctype.h】

int isalpha(int ch) 若ch是字母('A'-'Z','a'-'z')返回非0值,否則返回0

int isalnum(int ch) 若ch是字母('A'-'Z','a'-'z')或數字('0'-'9')

返回非0值,否則返回0

intisascii(int ch) 若ch是字元(ASCII碼中的0-127)返回非0值,否則返回0

intiscntrl(int ch) 若ch是作廢字元(0x7F)或普通控制字元(0x00-0x1F)

返回非0值,否則返回0

2、數學函數

所在函數庫為math.h、stdio.h、string.h、float.h

int abs(int i) 返回整型參數i的絕對值

double cabs(struct complex znum) 返回復數znum的絕對值

double fabs(double x) 返回雙精度參數x的絕對值

long labs(long n) 返回長整型參數n的絕對值

⑸ C語言中怎樣從一串數字中提取一個數

可以先把這個數字改成一個字元串, 然後再把你要的第幾個數字提出來即可, 如:
int i = 12345;
char ch[10];
sprintf(ch, "%d", i); //把i輸出到字元串(和printf用法一樣)
printf("%c\n", ch[2]); //輸出這個字元串的第3個字元(下標是2)
就會輸出3

⑹ c語言 編寫程序,將字元串str中包含的數字字元提取出來,對它們進行從小到大排序,非數字字元忽略不計.

#include<stdio.h>
main()
{
char str[100];
int s[50];
int i=0,j=0,count=0,flag=0,t=0;
puts("請輸入字元串:");
gets(str);
do //提取整數
{
if(Ɔ'<=str[i]&&str[i]<=Ə')
{
flag=1;
t=10*t+str[i]-Ɔ'
}
else
{
if(flag==1)
{
count++;
s[j++]=t;
}
flag=0;
t=0;
}
i++;
}while(str[i-1]!='');
for(i=0;i<count;i++) //排序
{
for(j=i;j<count;j++)
if(s[i]>s[j])
{
t=s[i];
s[i]=s[j];
s[j]=t;
}
}
for(i=0;i<count;i++) //輸出
{
printf("%d ",s[i]);
}
printf(" ");

}