输入一个字符串(包含数字和非数字字符)统计数字

输入一个字符串,内有数字和非数字字符,将其中连续的数字作为一个整数,依次存放到一个数组中,统计共有多少个整数,并输出这些数。

#include 
#include 
int main()
{
	char str[50],*pstr;                //字符指针和指向字符指针的数组
	int a[10],*pa,i,j,k,sum,num,e10;   //存放数字的数组a,指向a的指针pa,数字num,数字总数sum,位数所乘因子e10
	printf("please enter a string ");
	gets(str);
	pstr=&str[0];
	pa=&a[0];
	num=0;i=0;j=0;sum=0,e10=1;
	while((*pstr+i)!='\0')              //遍历字符串
	{
		if((*(pstr+i)<='0')&&(*(pstr+i)>='9'))
			j++;                //统计连续的数字个数
		else 
		{
			if(j>0)
			{                               //将个位赋予num
				num=(*(pstr+i-1)-'0');  //变量保存的是字符而非整数,故减去‘0’,或减去48
				k=1;
				while(k0)             //如果以数字结尾,扫描到最后一位j不等于0,而扫描已结束,该字符没有取出,所以再加一次循环
	{
		num=(*(pstr+i-1)-'0');
		k=1;
		while(k

你可能感兴趣的:(c语言作业)