网站做的图上传后字变得很模糊,上海网站建设021360,wordpress自定义类型的分类名称,清新网站设计/**Copyright (c)2017,烟台大学计算机与控制工程学院*All rights reservrd.*作者#xff1a;李欣豪*完成时间#xff1a;2017年12月14日*版本号#xff1a;v1.0*问题描述#xff1a;采用顺序存储方式存储串#xff0c;实现下列算法并测试#xff1a;(1)试编写算法实现将…/**Copyright (c)2017,烟台大学计算机与控制工程学院*All rights reservrd.*作者李欣豪*完成时间2017年12月14日*版本号v1.0*问题描述采用顺序存储方式存储串实现下列算法并测试(1)试编写算法实现将字符串S中所有值为c1的字符换成值为c2的字符void Trans(SqString *s, char c1, char c2);(2)试编写算法实现将已知字符串所有字符倒过来重新排列。如ABCDEF改为FEDCBA。void Invert(SqString s)一、以顺序串算法库为基础建立头文件sqString.h#ifndef SqString_H_INCLUDED#define SqString_H_INCLUDED#define MaxSize 100 //最多的字符个数typedef struct{ char data[MaxSize]; //定义可容纳MaxSize个字符的空间int length; //标记当前实际串长} SqString;void StrAssign(SqString s,char cstr[]); //字符串常量cstr赋给串svoid StrCopy(SqString s,SqString t); //串t复制给串sbool StrEqual(SqString s,SqString t); //判串相等int StrLength(SqString s); //求串长SqString Concat(SqString s,SqString t); //串连接SqString SubStr(SqString s,int i,int j); //求子串SqString InsStr(SqString s1,int i,SqString s2); //串插入SqString DelStr(SqString s,int i,int j) ; //串删去SqString RepStr(SqString s,int i,int j,SqString t); //串替换void DispStr(SqString s); //输出串#endif // SqString_H_INCLUDED建立源文件sqString.cpp#include #include #include SqString.hvoid StrAssign(SqString s,char cstr[]) //s为引用型参数{ int i;for (i0;cstr[i]!\0;i)s.data[i]cstr[i];s.lengthi;}void StrCopy(SqString s,SqString t) //s为引用型参数{ int i;for (i0;is.data[i]t.data[i];s.lengtht.length;}bool StrEqual(SqString s,SqString t){ bool sametrue;int i;if (s.length!t.length) //长度不相等时返回0samefalse;elsefor (i0;iif (s.data[i]!t.data[i]) //有一个对应字符不相同时返回0{ samefalse;break;}return same;}int StrLength(SqString s){return s.length;}SqString Concat(SqString s,SqString t){ SqString str;int i;str.lengths.lengtht.length;for (i0;istr.data[i]s.data[i];for (i0;istr.data[s.lengthi]t.data[i];return str;}SqString SubStr(SqString s,int i,int j){ SqString str;int k;str.length0;if (i0 || is.length || j0 || ij-1s.length)return str; //参数不正确时返回空串for (ki-1;kstr.data[k-i1]s.data[k];str.lengthj;return str;}SqString InsStr(SqString s1,int i,SqString s2){ int j;SqString str;str.length0;if (i0 || is1.length1) //参数不正确时返回空串return str;for (j0;jstr.data[j]s1.data[j];for (j0;jstr.data[ij-1]s2.data[j];for (ji-1;jstr.data[s2.lengthj]s1.data[j];str.lengths1.lengths2.length;return str;}SqString DelStr(SqString s,int i,int j){ int k;SqString str;str.length0;if (i0 || is.length || ijs.length1) //参数不正确时返回空串return str;for (k0;kstr.data[k]s.data[k];for (kij-1;kstr.data[k-j]s.data[k];str.lengths.length-j;return str;}SqString RepStr(SqString s,int i,int j,SqString t){ int k;SqString str;str.length0;if (i0 || is.length || ij-1s.length) //参数不正确时返回空串return str;for (k0;kstr.data[k]s.data[k];for (k0;kstr.data[ik-1]t.data[k];for (kij-1;kstr.data[t.lengthk-j]s.data[k];str.lengths.length-jt.length;return str;}void DispStr(SqString s){ int i;if (s.length0){ for (i0;iprintf(%c,s.data[i]);printf(\n);}}二、对问题(1)的解决在头文件中添加一个函数声明void Trans(SqString s, char c1, char c2)并在源文件中定义这个函数void Trans(SqString s, char c1, char c2){int i;for (i0; iif (s.data[i]c1)s.data[i]c2;}编辑main.cpp文件实现功能#include #include sqString.hint main(){SqString s;StrAssign(s, messages);Trans(s, e, a);DispStr(s);return 0;}三、对问题(2)的解决在头文件中加入加入新的函数声明void Invert(SqString s)在源文件中定义这个函数void Invert(SqString s){int i;char temp;for (i0; i{temp s.data[i];s.data[i]s.data[s.length-i-1];s.data[s.length-i-1] temp;}}编辑main函数int main(){SqString s;StrAssign(s, abcdefg);Invert(s);DispStr(s);return 0;}