三木社区

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 470|回复: 0
打印 上一主题 下一主题

C语言数据结构-main4-1.c

[复制链接]

1562

主题

1564

帖子

4904

积分

博士

Rank: 8Rank: 8

积分
4904
跳转到指定楼层
楼主
发表于 2017-9-1 08:42:44 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  1. /* main4-1.c 检验bo4-1.c的主程序 */
  2. #include"c1.h"
  3. #include"c4-1.h"
  4. #include"bo4-1.c"
  5. void main()
  6. {
  7.    int i,j;
  8.    Status k;
  9.    char s,c[MAXSTRLEN+1];
  10.    SString t,s1,s2;
  11.    printf("请输入串s1: ");
  12.    gets(c);
  13.    k=StrAssign(s1,c);
  14.    if(!k)
  15.    {
  16.      printf("串长超过MAXSTRLEN(=%d)\n",MAXSTRLEN);
  17.      exit(0);
  18.    }
  19.    printf("串长为%d 串空否?%d(1:是 0:否)\n",StrLength(s1),StrEmpty(s1));
  20.    StrCopy(s2,s1);
  21.    printf("拷贝s1生成的串为: ");
  22.    StrPrint(s2);
  23.    printf("请输入串s2: ");
  24.    gets(c);
  25.    k=StrAssign(s2,c);
  26.    if(!k)
  27.    {
  28.      printf("串长超过MAXSTRLEN(%d)\n",MAXSTRLEN);
  29.      exit(0);
  30.    }
  31.    i=StrCompare(s1,s2);
  32.    if(i<0)
  33.      s='<';
  34.    else if(i==0)
  35.      s='=';
  36.    else
  37.      s='>';
  38.    printf("串s1%c串s2\n",s);
  39.    k=Concat(t,s1,s2);
  40.    printf("串s1联接串s2得到的串t为: ");
  41.    StrPrint(t);
  42.    if(k==FALSE)
  43.      printf("串t有截断\n");
  44.    ClearString(s1);
  45.    printf("清为空串后,串s1为: ");
  46.    StrPrint(s1);
  47.    printf("串长为%d 串空否?%d(1:是 0:否)\n",StrLength(s1),StrEmpty(s1));
  48.    printf("求串t的子串,请输入子串的起始位置,子串长度: ");
  49.    scanf("%d,%d",&i,&j);
  50.    k=SubString(s2,t,i,j);
  51.    if(k)
  52.    {
  53.      printf("子串s2为: ");
  54.      StrPrint(s2);
  55.    }
  56.    printf("从串t的第pos个字符起,删除len个字符,请输入pos,len: ");
  57.    scanf("%d,%d",&i,&j);
  58.    StrDelete(t,i,j);
  59.    printf("删除后的串t为: ");
  60.    StrPrint(t);
  61.    i=StrLength(s2)/2;
  62.    StrInsert(s2,i,t);
  63.    printf("在串s2的第%d个字符之前插入串t后,串s2为:\n",i);
  64.    StrPrint(s2);
  65.    i=Index(s2,t,1);
  66.    printf("s2的第%d个字母起和t第一次匹配\n",i);
  67.    SubString(t,s2,1,1);
  68.    printf("串t为:");
  69.    StrPrint(t);
  70.    Concat(s1,t,t);
  71.    printf("串s1为:");
  72.    StrPrint(s1);
  73.    Replace(s2,t,s1);
  74.    printf("用串s1取代串s2中和串t相同的不重叠的串后,串s2为: ");
  75.    StrPrint(s2);
  76. }
复制代码


回复

使用道具 举报

Archiver|手机版|小黑屋|三木电子社区 ( 辽ICP备11000133号-4 )

辽公网安备 21021702000620号

GMT+8, 2025-12-8 00:50 , Processed in 0.027523 second(s), 22 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表