数据结构-字符串与整数的转化
数据结构报告
数据结构上机报告
----字符串与整数的转化
目录
一、需求分析 ........................................................................................................................... 2
1.问题描述 ....................................................................................................................... 2
2.输入及输出格式 ........................................................................................................... 2
a)输入格式 ............................................................................................................... 2
b)输出格式 ............................................................................................................... 2
c)输入及输出样例 ................................................................................................... 2
二、 概要设计: ..................................................................................................................... 2
三、详细设计: ....................................................................................................................... 3
四、调试分析 ........................................................................................................................... 4
1.调试中所遇到的主要问题以及解决方法 ................................................................. 4
2.算法设计中的技巧和心得 ......................................................................................... 4
3.算法的时空复杂度分析 ............................................................................................. 4
4.算法设计的健壮性,可维护性,可扩展性分析 ..................................................... 4
五、 用户手册: ..................................................................................................................... 4
六、测试数据(输入、输出文件) ....................................................................................... 5
数据结构报告
一、需求分析
1.问题描述
字符串与整数之间的转换
请写一个程序,完成字符串与实数之间的相互转换,即类似于函数atoi(),以及函数itoa()的功能。
注:不准直接调用atoi()和itoa()库函数
2.输入及输出格式
a)输入格式
按照提示分别输入字符串与整型即可。注意字符串代表一个整数(可以为负)但整数的范围不能超过int所允许的范围。
b)输出格式
对应转化而来的整型与字符串
c)输入及输出样例
请输入字符串:
12345
字符串转化为整数后的结果是:
12345
请输入整型值:
123
整数转化为字符串后的结果是:
123
二、 概要设计:
A to I函数只需另读入的字符串从高位开始以为一位的操作,具体方法为:对之前算出的结果*10再加上这一位读出的数。如此循环,直到字符串的串尾。
I to A函数,方法相当于第一个的逆,但是需要先求出整数的位数,在进行相应的抓化。
数据结构报告
三、详细设计:
核心函数StrToInt与IntToStr函数伪码:
int StrToInt(char * str)
{
if((*str>='0'&&*str<='9')||*str=='-'||*str=='+') //仅对首位输入为数字,负号的情况进行转换,否则当做非法输入
{
int value = 0;
int sign = 1; //默认为正数
if(*str == '-') //负数情况的处理 {
sign = -1;
str++;
}
while(*str)
{
value = value * 10 + *str - '0'; //从高位开始乘加即可 str++;
}
return sign*value;
}
else return 0; //输入非法字符串的处理,返回 }
void IntToStr(int n,char *str)
{
int j,temp=n;
for(j=0;temp!=0;j++) temp/=10; //先求出n的位数
if(n<0) //负数的情况下的处理 {
str[0] = '-';
j++;
n=-n;
}
str[j+1]='\0';
while(n!=0)
{
str[j-1] = n%10 + '0';
n/=10;
j--;
}
}
数据结构报告
}
四、调试分析
1.调试中所遇到的主要问题以及解决方法
a) 这道程序不涉及类,因此省去这里的麻烦,但是程序本身调试起来还是麻烦。下标的意义尤为关键,多一个一少一个都会造成严重的错误。这时候单步跟踪观察就显得非常重要了
b) 一开始没有考虑负数的问题,于是,还不容易调试通,发现只做了一半的工作。后来,又经过调试加上了几个判断语句解决了这一问题。另外一开始也没有注意到输入位字母的情况,好在结果不会报错,而是出现一些没有意义的字符,后来对这一情况做了专门的处理,需要重新输入。
2.算法设计中的技巧和心得
这个道题目两个算法虽然护卫逆,但在实际编写时基本没什么联系。第一个字符串到整数,利用了高位乘十加低位的迭代的方法,顺序的形成了所需的字串。第二个整数到字符串,因为较难通过高位到低位的方法获得,于是只好先求出整数的位数,然后反向逐步求出字符串。
当然,这两个函数都有许多其他实现方法,这里只是罗列了其中一种。
3.算法的时空复杂度分析
a) 时间复杂度:O(log(n));
b) 空间复杂度:O(log(n));
4.算法设计的健壮性,可维护性,可扩展性分析
a) 该算法的输入输出不能超过int型所能承受的范围,只要按照提示正确地输入字符串都可以得到正确结果,包含错误字符的处理部分是输入字符串的首字母不能为字符,因此有一定鲁棒性,但在其他地方没有做输入非法字符的处理。
b) 该程序中的遇到的整数转字符串和字符串转整数问题还是比较多的,因此该函数有一定使用范围。并且可以作为大程序的子程序。
五、 用户手册:
编译运行源代码即可,在提示操作下进行。注意根据输入的字符串首字母不能为字符。
数据结构报告
六、测试数据(输入、输出文件)
附:源代码:
#include<iostream>
using namespace std;
int StrToInt(char * str)
{
if((*str>='0'&&*str<='9')||*str=='-'||*str=='+') //仅对首位输入为数字,负号的情况进行转换,否则当做非法输入
{
int value = 0;
int sign = 1; //默认为正数
if(*str == '-') //负数情况的处理 {
sign = -1;
str++;
}
while(*str)
{
相关推荐:
- [专业资料]《蜜蜂之家》教学反思
- [专业资料]过去分词作定语和表语1
- [专业资料]苏州工业园区住房公积金贷款申请表
- [专业资料]保安管理制度及处罚条例细则
- [专业资料]2018年中国工程咨询市场发展现状调研及
- [专业资料]2015年电大本科《学前教育科研方法》期
- [专业资料]数字信号处理实验 matlab版 离散傅里叶
- [专业资料]“十三五”重点项目-虎杖白藜芦醇及功
- [专业资料]2015-2020年中国竹木工艺市场需求及投
- [专业资料]国际贸易理论与实务作业五:理论案例分
- [专业资料]财政部修订发布事业单位会计制度
- [专业资料]BCA蛋白浓度测定试剂盒(增强型)
- [专业资料]工程进度总计划横道图模板(通用版)
- [专业资料]七年级地理同步练习(天气与气候)
- [专业资料]X光安检机介绍火灾自动报警系统的组成
- [专业资料]衢州市人民政府办公室关于印发衢州市区
- [专业资料]经济全球化及其影响[1]
- [专业资料]质粒DNA限制性酶切图谱分析
- [专业资料]国家安全人民防线工作“六项”制度
- [专业资料]劳动力投入计划及保证措施
- 电子账册联网监管培训手册
- 人教版语文七年级上第1课《在山的那边
- 对我区担保行业发展现状的思考与建议
- 平面四边形网格自动生成方法研究
- 2016年党课学习心得体会范文
- 如何设置电脑定时关机
- 全球最美人妖排行榜新鲜出炉
- 社会实践调查报告及问卷
- Visual Basic习题集
- 《鱼我所欲也》课件2
- 浙江省会计从业资格考试试卷
- 全遥控数字音量控制的D 类功率放大器资
- 鞍钢宪法与后福特主义
- 电表的改装与校准实验报告(1)
- 2014年高考理科数学真题解析分类汇编:
- Windows 7 AIK 的使用
- 风电场全场停电事故应急处置方案
- 化工原理选填题题库(下)
- 关于产学研合作教育模式的学习与思考
- 西安先锋公馆项目前期定位报告




