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

//C程序设计第四版(谭浩强)
//章节:第八章 善于利用指针 
//题号:8.16
//题目:输入一个字符串,内有数字和非数字字符,例如:A123x456 17960? 302ta5876
//将其中连续的数字作为一个整数,依次存放到一数组a中。例如,123放在a[0],456放在a[1]……
//统计共有多少个整数,并输出这些数。 
#include 
#include 
void count(char *s)
{
	int i,j,a[20],temp,num=0,sum;
	for(i=0;i='0'&&*(s+i)<='9')	//判断当前字符是否为数字字符 
		{
			temp=*(s+i)-'0';		//将数字字符转换成整数 
			for(j=i+1;j='0'&&*(s+j)<='9')	//判断数字字符的下一个字符是否为数字字符 
				{
					temp=temp*10+*(s+j)-'0';	//计算连续几个整数连成的整数的值 
					i++;
				}
				else 
					break;
			}
			*(a+num)=temp;	//将整数值储存在数组a中 
			num++;
		}
	}
	printf("the number of integers:%d",num);
	printf("\nthey are:\n");
	for(i=0;i

你可能感兴趣的:(C语言)