输入一个字符串,内有数字和非数字字符,

本文介绍了一种从包含数字和非数字字符的字符串中提取连续整数的方法,并通过C语言实现。具体做法是遍历字符串,遇到数字则读取直到非数字出现,将读取的数字存入数组。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

输入一个字符串,内有数字和非数字字符,例如:

A123x456 17960?302tab5876

将其中连续的数字作为一个整数,依次存放到一数组a中。例如,123存放在a[0],456存放在a[1]。。。。统计共有多少个整数,并输出这些数。

 

#include <stdio.h>
void main()
{
 char c[20],*p=c;
 int a[10],*q=a,num=0,i;
 gets(c);
 for(; *p!='\0'; p++)
  if(*p>='0' && *p<='9')
  {
   *q=(*p)-'0';
   p++;
   while(*p>='0' && *p<='9')
    *q=(*q)*10+(*(p++)-'0');
   num+=1;
   q+=1;
  }
 for(i=0,q=a; i<num; i++,q++)
  printf("%d ",*q);
 putchar('\n');
 printf("%d\n",num);         
}
评论 23
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值