C语言中怎样从一串数字中提取一个数?

Python015

C语言中怎样从一串数字中提取一个数?,第1张

可以先把这个数字改成一个字符串,然后再把你要的第几个数字提出来即可,如:\x0d\x0ainti=12345\x0d\x0acharch[10]\x0d\x0asprintf(ch,"%d",i)//把i输出到字符串(和printf用法一样)\x0d\x0aprintf("%c\n",ch[2])//输出这个字符串的第3个字符(下标是2)\x0d\x0a就会输出3

用scanf语句。

其实scanf是一个函数,格式是:

1、输入整型数:

scanf("%d",&a)

式中%d是整型数的格式符,a是用int a声明过的整型数变量名。

2、输入浮点数:

scanf("%f",&b)

式中%f是浮点数的格式符,b是用float b声明过的浮点数变量名。

然后,系统就会等待你从键盘上输入一个数字。输入数字完毕按回车键结束输入。

不知道是不是解决了你的问题,如果没有请留言。

#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

}