欧美大屁股bbbbxxxx,狼人大香伊蕉国产www亚洲,男ji大巴进入女人的视频小说,男人把ji大巴放进女人免费视频,免费情侣作爱视频

歡迎來(lái)到入門教程網(wǎng)!

C語(yǔ)言

當(dāng)前位置:主頁(yè) > 軟件編程 > C語(yǔ)言 >

C++語(yǔ)言數(shù)據(jù)結(jié)構(gòu) 串的基本操作實(shí)例代碼

來(lái)源:本站原創(chuàng)|時(shí)間:2020-01-10|欄目:C語(yǔ)言|點(diǎn)擊: 次

C語(yǔ)言數(shù)據(jù)結(jié)構(gòu) 串的基本操作實(shí)例代碼

輸出結(jié)果:

實(shí)現(xiàn)代碼:

#include<iostream>
using namespace std;
typedef int Status;
#define Max 20
#define OK 1
#define ERROR 0
#define OVERLOE -2
typedef struct//堆分配表示串
{
 char *ch;
 int length;
}HString;
//===================================================================
Status CreatHString(HString &H)//構(gòu)造字符串
{
 H.length = 0;
 H.ch = (char *)malloc(Max*sizeof(char));
 for (int i = 0; i < Max; i++)
 {
 H.ch[i]=getchar();
 H.length++;
 if (getchar() == '\n')
  break;
 }
 return OK;
}//CreatHString
//===================================================================
Status PrintHString(HString H)//輸出所輸入的字符串
{
 if (H.length == 0)
 {
 cout << "空串!" << endl;
 return ERROR;
 }
 else
 for (int i = 0; i < H.length; i++)
  cout << H.ch[i] << " ";
 cout << endl;
 return OK;
}//PrintHString
//===================================================================
Status HStringLength(HString H)//求字符串的長(zhǎng)度
{
 cout << "您輸入的字符串長(zhǎng)度為:" << endl;
 cout << H.length << endl;
 return OK;
}//HStringLength
//===================================================================
Status HStringCompare(HString H, HString T)//求兩個(gè)字符串長(zhǎng)度差(絕對(duì)值)
{
 cout << "兩個(gè)字符串的長(zhǎng)度差為:" << endl;
 int L;
 L = H.length - T.length;
 if (L<0)
 cout << -L << endl;
 if (L>=0)
 cout << L << endl;
 return OK;
}//HStringCompare
//===================================================================
Status ConcatHString(HString &S, HString H, HString T)//鏈接H和T
{
 if (!(S.ch = (char *)malloc((H.length + T.length)*sizeof(char))))
 exit(OVERLOE);
 for (int i = 0; i < H.length; i++)
 S.ch[i] = H.ch[i];
 S.length = H.length + T.length;
 for (int j = H.length; j < S.length; j++)
 S.ch[j] = T.ch[j-H.length];
 return OK;
}//ConcatHString
//===================================================================
Status SubHString(HString &Sub, HString S, int pos,int len)
{//用Sub返回串S的第pos個(gè)字符起長(zhǎng)度為len的子串
 if (pos<1 || pos>S.length)
 {
 cout << "輸入的位置有誤!" << endl;
 return ERROR;
 }
 if (len<0 || len>S.length - pos + 1)
 {
 cout << "輸入的長(zhǎng)度有誤!" << endl;
 return ERROR;
 }
 if (!len)
 {
 Sub.ch == NULL;
 Sub.length = 0;
 }
 else
 {
 Sub.ch = (char *)malloc(len*sizeof(char));
 for (int i = 0; i < len ; i++)
  Sub.ch[i] = S.ch[pos + i - 1];
 Sub.length = len;
 }
 return OK;
}//SubHString
//===================================================================
Status ClearHString(HString &H)//將H清為空串
{
 if (H.ch)
 {
 free(H.ch);
 H.ch = NULL;
 }
 H.length = 0;
 return OK;
}//ClearHString
//===================================================================
void main()
{
 HString S,H,T;
 cout << "請(qǐng)輸入一個(gè)字符串(按回車鍵結(jié)束):" << endl;
 CreatHString(H);
 cout << "現(xiàn)在串中的字符為:" << endl;
 PrintHString(H);
 HStringLength(H);
 cout << "請(qǐng)?jiān)佥斎胍粋€(gè)字符串(按回車鍵結(jié)束):" << endl;
 CreatHString(T);
 HStringCompare(H, T);
 ConcatHString(S, H, T);
 cout << "現(xiàn)在串中的字符為:" << endl;
 PrintHString(S);
 HString Sub;
 int pos, len;
 cout << "請(qǐng)輸入截取位置pos及長(zhǎng)度len:" << endl;
 cin >> pos >> len;
 SubHString(Sub, S, pos, len);
 cout << "截取的子串為:" << endl;
 PrintHString(Sub);
 ClearHString(S);
 cout << "檢驗(yàn)S清空后是否為空:" << endl;
 PrintHString(S);
}//main


上一篇:visual studio 2015下boost庫(kù)配置教程

欄    目:C語(yǔ)言

下一篇:C語(yǔ)言中計(jì)算二叉樹(shù)的寬度的兩種方式

本文標(biāo)題:C++語(yǔ)言數(shù)據(jù)結(jié)構(gòu) 串的基本操作實(shí)例代碼

本文地址:http://mengdiqiu.com.cn/a1/Cyuyan/1636.html

網(wǎng)頁(yè)制作CMS教程網(wǎng)絡(luò)編程軟件編程腳本語(yǔ)言數(shù)據(jù)庫(kù)服務(wù)器

如果侵犯了您的權(quán)利,請(qǐng)與我們聯(lián)系,我們將在24小時(shí)內(nèi)進(jìn)行處理、任何非本站因素導(dǎo)致的法律后果,本站均不負(fù)任何責(zé)任。

聯(lián)系QQ:835971066 | 郵箱:835971066#qq.com(#換成@)

Copyright © 2002-2020 腳本教程網(wǎng) 版權(quán)所有