为了正常的体验网站,请在浏览器设置里面开启Javascript功能!
首页 > 输入一个整数,将其转换为字符串输出

输入一个整数,将其转换为字符串输出

2017-12-05 5页 doc 16KB 89阅读

用户头像

is_574951

暂无简介

举报
输入一个整数,将其转换为字符串输出输入一个整数,将其转换为字符串输出 例9-15 编写函数,输入一个整数,将其转换为字符串输出。例如,输入整数86556,输出字符串"86556"。 首先确定函数头,函数输入一个long型整数,输出一个char型字符数组,因此可以定为void long2string(long lNum,char chWord[])。注意这里的整数可能比较大,不要定为int型。 函数中,可以首先利用循环和%和/运算符,依次取得整数的每个位。思路如下:例如86556,我们可以将其对10取余,得到个位6;将86556除10余8655,继续对10...
输入一个整数,将其转换为字符串输出
输入一个整数,将其转换为字符串输出 例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 结束 流程图 版权所有:东北大学计算中心 开始 输入整数 N lNum!=0, Y chWord[i]='0'+lNum%10 i++; lNum=lNum/10; 字符串逆 序 输出结果 字符串 结束 图5-15 程序执行流程图 程序代码如下: #include “stdio.h” void long2string(long lNum,char chWord[]) { int i=0,j; char chTemp; /*依次取整数的末位,存入chWord*/ while(lNum!=0) { chWord[i]='0'+lNum%10;/*转换为数字的ASCII码*/ i++; lNum=lNum/10; } /*字符串最后一位加'\0'*/ chWord[i]='\0'; /*将字符串逆序*/ 版权所有:东北大学计算中心 for(j=0;j
/
本文档为【输入一个整数,将其转换为字符串输出】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索