#define MAXLEN 50/*2009/09/18晚 写于白鹿原*/ typedef struct /*顺序串的求字串操作*/ { char ch[MAXLEN]; int len; }SString; void StrAsign(SString *s)//串的建立函数 { int i,j; char c; printf("/nPlease input the length of String:"); scanf("%d",&j); getchar(); printf("/nplease input the value of String:"); for(i=0;i<j;i++) { scanf("%c",&c); s->ch[i]=c; } s->len=j; } void output(SString *s)//串的输出 { int i; for (i=0;i<s->len;i++) printf("%c",s->ch[i]); printf("/n"); } int SubString(SString *sub,SString s,int pos,int len)/*将串s中下标pos起len个字符复制到sub中*/ { int i; if(pos<0||pos>s.len||len<1||len>s.len-pos) { sub->len=0; return 0; } else { for(i=0;i<len;i++) sub->ch[i]=s.ch[i+pos]; sub->len=len; return 1; } } void main() { int pos,flag,len; SString *sub; SString s; sub=(SString *)malloc(sizeof(SString)); sub->len=0; printf("/nNOW Please input the String!"); StrAsign(&s); printf("/nInput the value of pos(must pos<S.Len):"); scanf("%d",&pos); printf("/nInput the value of len:"); scanf("%d",&len); flag=SubString(sub,s,pos,len); if(flag=1) printf("/nThe operate is OK!"); else printf("/nThe operate is FALSE!"); printf("/nThe sub String is:"); output(sub); }
以上就是踏实蜡烛为你收集整理的顺序串求子串操作的全部内容,希望文章能够帮你解决顺序串求子串操作所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复