|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
- /************************************************************************
- 输入一个字符串,内有数字和非数字字符,例如:A123x456 17960? 302tab5876
- 将其中连续的数字作为一个整数,依次存放到一数组 a 中,例如,123 放在 a[0],
- 456 放到 a[1]……统计共有多少个整数,并输出这些数。
- **************************************************************************/
- #if(1)
- #include <stdio.h>
- #include <math.h>
- int main()
- {
- int i=0,n=0,j=0,m=0,k,y;
- int in[10],temp=0,a[50]={0};
- char *p,car[100];
- printf("请输入一个字符串:");
-
- gets(car);
- p=car;
-
- for (;;j=0)
- {
- if (*(p+i)=='\0')
- {
- break;
- }
-
- for(;i<1000;i++)
- {
- if(*(p+i)>=48 && *(p+i)<=57 && *(p+i+1)>=48 && *(p+i+1)<=57
- || *(p+i)>=48 && *(p+i)<=57 && *(p+i-1)>=48 && *(p+i-1)<=57 ) //二个以上连续数字
- {
- in[j]=(*(p+i))-48; // 字符ASCII码转十进制
- j++; //j 用于统计每个整数的长度
-
- }
- if(!(48<=*(p+i) && *(p+i)<=57)) // 字符不属于0-9
- {
- i++;
-
- break;
- }
-
- }
-
- if(j>1)
- {
- y=j; //循环次数
-
- for(j=0,k=y-1;j<y;j++,k--) //把几个数连起来,变成一个整数
- {
-
- temp+=in[j] * pow(10,k);
- }
-
-
- a[n]=temp;
- temp=0;
- n++;
-
-
- }
- }
-
-
- for(i=0;i<n;i++)
- {
- printf("a[%d]=%d\n",i,a[i]);
- }
- printf("\n");
-
-
- return 0;
- }
- #endif
复制代码
|
|