c语言将字符串中的数字存到为数组d中

如题所述

#include<stdio.h>
#include<string.h>

int main()
{
char a[80],*p=a;
int b[80]={0},i=0,j=0,x=0;
printf("请输入一串字符\n");
gets(a);
for(p=a;(*p)!='\0';p++)
{
if(((*p)>='0')&&((*p)<='9'))
{
if(x==0)
{
b[i]=(*p)-48;
i++;
}
else
b[i-1]=b[i-1]*10+(*p)-48;
x=1;
}
else
x=0;
}
for(j=0;b[j]!=0;j++)
printf("%d ",b[j]);
printf("共有%d个",j);
printf("\n");
return 0;
}
温馨提示:内容为网友见解,仅供参考
无其他回答

C语言如何把一个字符串中的数值全提取出放在一个数组里面
sscanf(str,"%1d%1d%1d%1d",&a[0],&a[1],&a[2],&a[3]);

C语言中怎么把字符数组里的数据存放到字符串数组中
利用C语言标准库中的strtok()函数,可以轻松快捷的将以空格分隔开的一串字符分成多个子串,存放到字符指针数组中。函数说明:include <string.h> \/\/头文件 char *strtok(char *str, const char *delim);strtok()用来将字符串分割成一个个片段。参数str指向欲分割的字符串,参数delim则为分割字符串...

如何用c语言输入一个字符串,把里面连续的数字依次存放到一个数组中
void main(){ char a[80],*p=a;int b[80]={0},i=0,j=0,x=0; \/\/!!!printf("请输入一串字符\\n");gets(a);for(p=a;(*p)!='\\0';p++){ if(((*p)>='0')&&((*p)<='9')) \/\/!!!{ if(x==0){ b[i]=(*p)-48;i++;} else b[i-1]=b[i-1]*10+(*p)-4...

C语言如何把输入进去的数放到数组中
scanf("%d",&i);a[k] = i;就是先输入到变量i中,然后把i存储在a的第k个元素中。2 直接输入到数组对应元素中。如 scanf("%d",&a[k]);与1中的例子是相同效果,只是减少了中间变量的使用。

c语言怎么把字符串存进数组?
在C语言中,可以用字符数组来存储字符串。如果要把一个字符串存到数组中,可以先定义一个字符数组,然后用字符串复制函数把字符串内容复制到数组中。例如,如果要把字符串"abcd"存储到数组a的第一个元素中,可以这样做:char a[10][5]; \/\/ 定义一个10行5列的字符数组 strcpy(a[0], "abcd")...

c语言 如何从键盘中输入若干个数保存到数组中
1、首先在电脑中打开编译器(vc++6.0),新建一个将1到100保存到数组中项目,如图所示。2、添加一个 assignment.c 文件,如图所示。3、包含stdio.h和stdlib.h头文件,如图所示。4、输入main函数主体及返回值,如图所示。5、定义一个char数组,长度为100,最后使用while循环进行赋值,如图所示,就完成...

C语言怎么让键盘输入数字到数组里?
1、首先打开电脑的编辑软件。然后创建编辑项目。2、创建文件指针和字符型char。再读取文件内容。3、然后用for语句进行接受数据。再用getchar语句接受键盘的输入。4、然后用foput函数。再将数据写入到文件。5、然后用fclose函数关闭文件。再返回数值。6、运行程序,输入数值。再打开文件,就可以发现键盘输入...

C语言如何把输入进去的数放到数组中
include<stdio.h> void main(){ int a[3][3],i,j;for(i=0;i<3;i++)for(j=0;j<3;j++)sacnf("%d",&a[i][j]);for(i=0;i<3;i++)for(j=0;j<3;j++)printf("a[%d][%d]=%d ",i,j,a[i][j]);}

c语言如何分割字符串并将结果放入数组?
如果是从输入读,那不用存字符串,直接存数组就好了 比如 scanf(“%d,%d...”,a,a+1,a+2...)如果已经是字符串了,比如str,那么用sscanf 比如sscanf(str,“%d,%d...”,a,a+1,a+2...)

C语言 输入字符串,将字符串中的数字存入整型数组中
{ char str[20];int i,j;int b[20];printf("这里输入字符串\\n");scanf("%s",str);for(i=0,j=0;i<strlen(str);i++,j++){ if((str[i]>'0')&&(str[i]<'9')){ b[j]=(int)str[i]-48;printf("%d",b[j]);} else j--;} return 0;} 已经运行成功,希望能帮助你,...

相似回答