101201113实验三 字符串应用
字符串应用
实验三 线性表应用
专业 10信管 姓名 学号 3成绩
(2) 一般地,在未指定字符串的长度情况下,是否可能出现溢出问题? 为什么? 答:是可能的。因为用户不知道要输入的字符串是多大,计算机不知道需要给你分配多大的空间。计算机的空间不足,会导致溢出的。 [实验目的]
本次实验的主要目的在于掌握有关字符串的基本操作和存储结构,掌握字符串模式匹配操作算法。通过本次实习还可帮助读者复习高级语言的使用方法。
[问题描述]
给出atio(x)的实现方法,其功能是将字符串x转换为整数,字符串x由0-9十个数字和表示负数的“-”符号组成,返回值为整型数值。
[基本要求]
利用字符串结构实现字符串转换成整数的atoi()函数过程。 [测试数据]
测试时可指定字符串的长度数N为 4,例如输入字符串“345”,则输出整数345;输入“-123”,则输出整数-123。
[实现提示]
程序运行后首先要求用户判断字符串的第一个字符是否为“-”号,然后分别读取字符串中的字符,输出对应整型数值。
[思考]
(1) 描述你所设计的算法思路。 1、定义一个字符串指针
2、获取字符串的首地址,判断该字符串的首位是不是“-” 3、如果当前字符串的首位是“-”,str++;
4、当字符串不为空时,判断输入的字符串是不是数字,不是就break,;
5、如果当前字符是数字则计算数值temp =temp*10+(*str-'0'因为字符的0在ASCⅡ码中是49,所以减去0,指针str++。
[源程序代码]
#include <iostream> using namespace std; int strTOnum(char *str) {
int temp = 0;
const char *ptr=str; //ptr保存str字符串开头 if (*str=='-'||*str=='+') //如果第一个字符是正负号, { //则移到下一个字符 str++;
}
while(*str != 0)
{ if ((*str<'0')||(*str>'9')) //如果当前字符不是数字 { //则退出循环 cout<<"----------------------------------------------"<<endl; cout<<"您输入的字符串不是数字!"<<endl;
break;
字符串应用
}
temp =temp*10+(*str-'0'); //如果当前字符是数字则计算数值
str++; //移到下一个字符
}
if (*ptr=='-') //如果字符串是以"-"开头,则转换成其相反数 {
temp=-temp;
}
cout<<"您输入的字符串转换为整型为:"<<endl;
return temp; }
int main() {
char a[10];
cout<<"----------------------------------------------"<<endl; cout<<"请输入字符串(注意该字符串是数字,大小为0-10):"; cin>>a;
cout<<strTOnum(a)<<endl; return 0; }
[选作内容]
试考虑字符串转换成整数atoi函数的实现逆转换,即整数转换成字符串itoa函数的实现。#include <iostream> using namespace std;
char *str(char[],int n); void main() { int n; char a[80];
cout<<"请输入一个任意整数n:";
字符串应用
cin>>n;
cout<<"转换后的字符串为:"<<str(a,n)<<endl; }
char *str(char ch[],int n) //返回指针 {
int i=0,j=0; char a; do{
ch[i++]=n%10+48; }while(n/=10); ch[i]='\0';
for(i--;i>j;i--,j++) { a=ch[i]; ch[i]=ch[j]; ch[j]=a; }
return ch; //返回数组的首地址 }
相关推荐:
- [专业资料]《蜜蜂之家》教学反思
- [专业资料]过去分词作定语和表语1
- [专业资料]苏州工业园区住房公积金贷款申请表
- [专业资料]保安管理制度及处罚条例细则
- [专业资料]2018年中国工程咨询市场发展现状调研及
- [专业资料]2015年电大本科《学前教育科研方法》期
- [专业资料]数字信号处理实验 matlab版 离散傅里叶
- [专业资料]“十三五”重点项目-虎杖白藜芦醇及功
- [专业资料]2015-2020年中国竹木工艺市场需求及投
- [专业资料]国际贸易理论与实务作业五:理论案例分
- [专业资料]财政部修订发布事业单位会计制度
- [专业资料]BCA蛋白浓度测定试剂盒(增强型)
- [专业资料]工程进度总计划横道图模板(通用版)
- [专业资料]七年级地理同步练习(天气与气候)
- [专业资料]X光安检机介绍火灾自动报警系统的组成
- [专业资料]衢州市人民政府办公室关于印发衢州市区
- [专业资料]经济全球化及其影响[1]
- [专业资料]质粒DNA限制性酶切图谱分析
- [专业资料]国家安全人民防线工作“六项”制度
- [专业资料]劳动力投入计划及保证措施
- 电子账册联网监管培训手册
- 人教版语文七年级上第1课《在山的那边
- 对我区担保行业发展现状的思考与建议
- 平面四边形网格自动生成方法研究
- 2016年党课学习心得体会范文
- 如何设置电脑定时关机
- 全球最美人妖排行榜新鲜出炉
- 社会实践调查报告及问卷
- Visual Basic习题集
- 《鱼我所欲也》课件2
- 浙江省会计从业资格考试试卷
- 全遥控数字音量控制的D 类功率放大器资
- 鞍钢宪法与后福特主义
- 电表的改装与校准实验报告(1)
- 2014年高考理科数学真题解析分类汇编:
- Windows 7 AIK 的使用
- 风电场全场停电事故应急处置方案
- 化工原理选填题题库(下)
- 关于产学研合作教育模式的学习与思考
- 西安先锋公馆项目前期定位报告




