‘壹’ c语言 只提取输入的数字
#include<stdio.h>
#include<stdlib.h>
int main()
{ char s[100];int i,j;
gets(s);
for(i=0;s[i]!='\0';i++)
{if(s[i]>='0'&&s[i]<='9'侍搏岁)printf("%c",s[i]);
if(s[i]==',')printf(" ",s[i]);
if(s[i]==';')printf("\老睁n",s[i]);
}
system("pause");
}
程序简短,处理简单银磨的还没错。给分啊。
‘贰’ C语言 将用户输入的字符串中的所有数字提取出来
楼主采纳我吧
#include
<stdio.h>
void
main()
{
char
str[80],digit[80];
char
*ps;
int
i=0;
gets(str);
ps=str;
while(*ps!='\0')
{
if(*ps>='0'&&*ps<='9')
{
digit[i]=*ps;//若当前字符是数字字符,保存到digit【i】里面,并且i的下标加1
i++;
}
ps++;//不管是不是,判断完当前的字符*ps之后,ps++,表示移动到下一个字符判断
}
digit[i]='\0';//给保存数字字符的字符数组加上个结束符号‘\0’,因为printf(%s)是以'\0'表示字符结束的
}
‘叁’ C语言字符串读取数字
#include<stdio.h>
constintN=20;
intmain(){
inti,j=-1,fa=0,fb=0,a[N];
chart[]="C11A6689H22ON";
for(i=0;t[i];++i){
if(t[i]>='0'&&t[i]<='9'){
fb=1;
if(fa<fb){//从字符到数字
a[++j]=t[i]-'0';
fa=1;
}
else//从数字到数字
a[j]=10*a[j]+t[i]-'0';
}
elsefa=0;
}
for(i=0;i<=j;++i)
printf("%d",a[i]);
printf("
");
return0;
}
‘肆’ C语言题目:提取一个字符串中的所有数字字符(‘0’...‘9’)将其转换为一个整数输出。
评测·系统显示的册携是wrong answer吗?如果是PE,请修改输出格式。
这里我指出一种情况,就是比如我输入a0123a 这组字符串,那按照题目的要求应该输出的是123,而你输出的肯定是0123。我竖做不知道这是不是你不通过的测试用例,州纤伏我也没有你测试平台的地址,没办法验证,就当是我给你一点建议吧。
‘伍’ 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;
}
}
(6)提取数字字符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 x;
123456 取个位:x=123456%10
取白位:x=(123456%100)/10
1234.56 小数点后面的第一位: x=((int)(1234.56*10))%10
1234.56 小数点后面的第二位: x=((int)(1234.56*100))%10
‘捌’ C语言中怎样从一串数字中提取一个数
可以先衡毕把这个数字改成一个字符串, 然后再把你要的第几个数字提出来即竖凯可, 如余拦唤:
int i = 12345;
char ch[10];
sprintf(ch, "%d", i); //把i输出到字符串(和printf用法一样)
printf("%c\n", ch[2]); //输出这个字符串的第3个字符(下标是2)
就会输出3
‘玖’ 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
(9)提取数字字符c语言扩展阅读
C语言实现将字符串的数字扰枯并提取为整数
#include<stdio.h>
intStringToInteger(char*p)
{
intvalue=0;
while(*p!='