面试题三(字符串中提取数字)

该博客介绍如何从字符串中提取整数,提供了一个名为`take_num`的函数,其功能是将包含数字的字符串转换为整数数组。例如,输入`strIn="ab00cd+123fght456-25 3.005fgh"`,输出将为`n=6`和数组`{ 0, 123, 456, 25, 3, 5 }`。文章讨论了如何处理前导零并忽略小数部分。" 136822459,10664463,easyUI对话框与表单控件实战指南,"['前端开发', 'javascript', 'easyui', 'datagrid', 'form']
摘要由CSDN通过智能技术生成

字符串提取数字
完成函数
void take_num(const char *strIn, int *n, unsigned int *outArray)
如输入
strIn="ab00cd+123fght456-25  3.005fgh"
输出
n=6
outArray={ 0, 123, 456, 25, 3, 5 }
不考虑小数如3.005输出3和5
题目分析:将字符串转换成uint,按公式temp=0;temp=temp*10;temp+=str[i]-'0';一直循环。

对于一个数,如果前面是0的话,那么按上面公式也会把0去掉的,也就是会从第一个非零的数开始计数。比如005,temp=0;temp=temp*10(temp=0);temp+=str[i]-'0'(temp=0);当i=i+1时,

按上面过程计算,仍然有temp=0,直到第一个非零的数字出现,这也正符合数的形式。

#include <string.h>
#include <stdio.h>
#include <assert.h>
void take_num(const char *strIn, int *n, unsigned int *outArray)
{
	assert(s
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值