我咋这么笨,这个用了6小时555555
/************************************************************************输入一个字符串,内有数字和非数字字符,例如:A123x456 17960? 302tab5876
将其中连续的数字作为一个整数,依次存放到一数组 a 中,例如,123 放在 a,
456 放到 a……统计共有多少个整数,并输出这些数。
**************************************************************************/
#if(1)
#include <stdio.h>
#include <math.h>
int main()
{
int i=0,n=0,j=0,m=0,k,y;
int in,temp=0,a={0};
char *p,car;
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=(*(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 * pow(10,k);
}
a=temp;
temp=0;
n++;
}
}
for(i=0;i<n;i++)
{
printf("a[%d]=%d\n",i,a);
}
printf("\n");
return 0;
}
#endif
凡事慢慢来,后来就会越来越快了——加油哦!{:5_92:} ~风介~ 发表于 2015-3-24 23:53
凡事慢慢来,后来就会越来越快了——加油哦!
谢谢 :cry 本帖最后由 haiouda 于 2015-3-25 14:23 编辑
<p>#include <stdio.h>
#include <math.h></p><p>int main()
{
int i=0,n=0,j,k;
int in,temp=0,a={0};
char *p,car;
printf("请输入一个字符串:");
gets(car);
p=car;
for (;;)
{ j=0;
if (*(p+i)=='\0')break;
for(;;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=(*(p+i))-48;// 字符ASCII码转十进制
j++;//j 用于统计每个整数的长度
}
else /*字符不属于0-9 */
{
i++;
break;
}
}
if(j>1)
{
k=0;
for(--j;j>=0;j--) //把几个数连起来,变成一个整数
{
temp+=in * pow(10,k++);
}
a=temp;
temp=0;
n++;
}
}
printf("共有%d个连续数字它们分别是:\n",n);
for(i=0;i<n;i++)
{
printf("a[%d]=%d\n",i,a);
} printf("\n");
return 0;
}
精简 {:10_277:}别急
页:
[1]