当前位置:首页 » 编程语言 » 将字符串中的数字提取出来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(" ");

}