教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 文库大全 > 专业资料 >

101201113实验三 字符串应用

来源:网络收集 时间:2026-09-07
导读: 字符串应用 实验三 线性表应用 专业 10信管 姓名 学号 3成绩 (2) 一般地,在未指定字符串的长度情况下,是否可能出现溢出问题? 为什么? 答:是可能的。因为用户不知道要输入的字符串是多大,计算机不知道需要给你分配多大的空间。计算机的空间不足,会导

字符串应用

实验三 线性表应用

专业 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; //返回数组的首地址 }

101201113实验三 字符串应用.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wenku/1760323.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)