python字符串提取数字字符将其转换为一个整数输出_输入一个整数,将其转换为字符串输出...

版权所有:东北大学计算中心

9-15

编写函数,输入一个整数,将其转换为字符串输出。例如,输入整数

86556

输出字符串

"86556"

首先确定函数头,函数输入一个

long

型整数,输出一个

char

型字符数组,因此可以定

void long2string(long lNum,char chWord[])

注意这里的整数可能比较大,

不要定为

int

型。

函数中,可以首先利用循环和

%

/

运算符,依次取得整数的每个位。思路如下:例如

86556

,我们可以将其对

10

取余,得到个位

6

;将

86556

10

8655

,继续对

10

取余,得

到十位

5

;…

以此类推,直到该数变为

0

为止。这样就可以将整数的每个位分离出来。

在上述的循环过程中,

将分离出的数字依次保存到字符数组中。

但是要注意,

字符数组

中保存的是字符,是数字的

ASCII

码,而不是数字本身的值。因为

ASCII

码表中阿拉伯数

字的码值是连续的,因此一个常用的技巧是,字符

0

加数字值即为该数字的

ASCII

码值。

上述过程结束后,

字符数组里存放了整数的每个位,

但是不符合题目的要求,

顺序正好

相反。

这可以用一个循环对数组进行转置:

字符串第一个元素和最后一个元素对换;

第二个

元素和倒数第二个元素对换;

…程序循环进行

字符串长度

/2

(如果字符串长度为奇数,

中间元素正好不用处理)

数据要求

问题中的常量:

问题的输入:

long lNum /*

输入的

long

型数据

*/

问题的输出:

char chWord[50] /*

转换后的字符串

*/

初始算法

1

.初始化变量

lNum

2

.调用函数得到字符串;

3

.程序输出结果后退出。

算法细化

步骤

2

的细化

2

1

初始化临时变量

2

2 lNum!=0

时,循环执行得到各个位的数字

2

2

1

转换数字

ASCII

2

2

2 i

变量增

1

2

2

3 lNum=lNum/10

,本步骤的目的有两个,一是结束循环,二是正确的

得到数字

2

3

字符串最后加标志

2

4

循环进行数组的逆序

2

5

结束

流程图

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值