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')
{
? ?
i++;
}
? ?
}
? ?
printf("%s\n",digit);
}
请问三个问号行应该怎么填。。为什么

第1个回答  2022-04-25

#include <stdio.h>

#include <string.h>

int main()

{    char string[100],str[100], str2[50];int i,j=0,k=0,n;      

printf("please input 14 characters\n");    

scanf("%s",string);               n=strlen(string); 

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

            if((string[i]>='0')&&(string[i]<='9'))   { str2[j]=string[i];j++;}      

                    else   {str[k]=string[i];  k++; }

if(j<100)  str2[j]='\0';               if(k<50) str[k]='\0';

strcat(str,str2);    printf("%s",str);

return 0;                    }

第2个回答  2013-05-24
digit[i]=*ps;
ps++;
digit[i] = '\0';
第3个回答  2018-07-28
#include "stdio.h"
#include "malloc.h"
main()
{
char *s,t[100];
s = t;
//scanf("%s",t);//首先不能用scanf,它遇空格会结束输出 
gets(t);

for(;*s;s++){
if( *s >= '0' && *s <= '9' ){
printf("%c",*s);
}
}

}

为什么不用一边判断一边输出的方法呢?这样更简单吧

第4个回答  2018-06-12
#include<stdio.h>
#include<string.h>
main()
char s[80]
long n=0;
int m, i=0:
char *p=s
printf("请输入一串字符:"):
gets(s)
while(*p!= \0”)
if(*p>=' 0' &&*p<=’9')
m=*p-’0';
n=n*10+m;
p++:
printf("提取的数字为:%ld\n,n);
}

C语言将用户输入的字符串中的所有数字提取出来
在C语言中,提取用户输入的字符串中的所有数字可以通过遍历字符串并检查每个字符是否为数字来实现。这通常通过`isdigit()`函数完成,该函数定义在``头文件中,用于检查给定的字符是否为十进制数字('0'-'9')。以下是一个简单的示例程序,该程序读取用户输入的字符串,然后遍历该字符串,使用`isdigit()...

C语言 将用户输入的字符串中的所有数字提取出来
ints=0;chara[10];\/\/输入一个字符串到a[6]printf("请输入一个字符串\\n");scanf("%s",a);\/\/输入字符串 for(i=0;i<10;i++)\/\/计算a[6]中的数字个数 { if(a[i]>='0'&&a[i]<='9')m++;} if(m==0)printf("字符串中没有数字\\n");p=(int*)calloc(m,sizeof(int));\/...

...从键盘输入一个字符串,将其中所有的数字字符抽出,按原顺序组成一个...
int main(void){ char s[100],ns[100];int i,j;printf("Please intput a string...\\ns=");gets(s);for(j=i=0;ns[j]=s[i];i++)if(s[i]<'0' ||s[i]>'9')j++;puts(ns);return 0;}

用c语言提取字符串中的数字
用c语言提取字符串中的数字的操作如下:1、首先打开visual studio软件并创建一个新的c语言文件,如下所示。2、然后导入C语言文件顶部的库内容,如下所示。3、然后使用scanf函数接收用户输入的字符串。4、然后使用printf函数打印用户输入。5、运行程序后,弹出下图所示的命令界面,自动接收输入内容,按原样输...

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

问:在C语言中,我从字符串中提取出所有的数字,怎么把这些数字存起来然后...
这是0~9数字的提取与排序;include<cstdio> include<algorithm> include<cstring> using namespace std;int main(){ char a[20];scanf("%s",&a);int j=0,n=strlen(a),b[20];for(int i=0;i<n;i++){ if(a[i]>=48&&a[i]<=58){ b[j]=a[i];j++;} } for(int i=0;i<...

c语言怎么提取字符串中的数字
使用isdigit()函数。在C语言中,可以使用标准库函数isdigit()来检查一个字符是否为数字。isdigit()函数定义在头文件ctype.h中,原型是intisdigit(intc)。

...统计并输出其中的大写字母、小写字母、数字字符、其它字符的个...
include<stdio.h> void main(){ char a[100];int sum0=0,suma=0,sumA=0;gets(a);char*p;for(p=a;*p!='\\0';p++){ if(*p>='0'&&*p<='9')sum0+=1;else if(*p>='a'&&*p<='z')suma+=1;else if(*p>='A'&&*p<='Z')sumA+=1;} printf("数字字符数量:%d\\n小写字母...

c语言一串字符串中提取数字并相加的问题
printf("请输入字符串1:(输入?结束)");\/\/输入?作为字符串1的结束符 while(x!='?') { x=getchar(); if(x=='?') break; input1=x; if(input1>='0'&&input1<='9')\/\/每检查到一个数字就要乘10,进一位 number1=number1*10+input1-'0';\/\/比如字符'9'-'0'之后的数是数字9 } x...

...1.字符串程序设计: 写程序将用户输入的由数字字符和非数字字符组成的...
不用给分了,我没时间给你写程序了,只能把大体算法告诉你:::数字在ASC2中是连续的。是048到057,可以写一个循环程序在字符串中把在这个范围内的字符复制到一个数组中,然后输出数组就可以了。如果还不行可以找我,我试试帮你。

相似回答