《数据结构》字符串和多维数组 实验
实验目的
巩固字符串和多维数组相关知识,学会运用灵活应用。
1.回顾字符串和多维数组的逻辑结构和存储操作特点,字符和数组的物理存储结构和常见操作。
2.学习运用字符串和和数组的知识来解决实际问题。
3.进一步巩固程序调试方法。
4.进一步巩固模板程序设计。
头文件
# ifndef Str_H
# define Str_H
int strlen(char *s);
char *strcat(char *s1,char *s2);
int strcmp(char *s1,char *s2);
# endif
源文件
# include "串操作的实现.h"
int strlen(char *s)
{
char *p=s;
int len=0;
while(*p!='\0')
{
len++;
p++;
}
return len;
}
char *strcat(char *s1,char *s2)
{
char *p=s1,char *q=s2;
while(*p!='\0')
p++;
while(*p!='\0')
{
*p=*q;
p++,q++;
}
*p='\0';
return s1;
}
int strcmp(char *s1,char *s2)
{
char *p=s1,*q=s2;
while(*p!='\0' && *q!='\0')
{
if(*p>*q)
return 1;
else if(*p<*q)
return -1;
else{p++;q++;}
}
if(*p=='\0' && *q=='\0')
return 0;
if(*p!='\0')
return 1;
if(*q!='\0')
return -1;
}
主函数
<span style="font-size:14px;">#include <iostream>
#include"串操作的实现.h"
using namespace std;
int main()
{
char ch[20]="Love",*str="China";
cout<<"Love "<<"China"<<endl;
cout<<"Love"<<"的字符长度为:"<<strlen(ch)<<endl;
cout<<"China"<<"的字符长度为:"<<strlen(str)<<endl;
cout<<"前后字符相差:"<<strcmp(ch,str)<<endl;
cout<<"后前字符相差:"<<strcmp(str,ch)<<endl;
cout<<endl;
return 0;
}</span>