编写expand(s1,s2)

编写expand(s1,s2),将字符串s1中类似于a-z类的速记符号在字符串s2中扩展为等价的完整列表abc.....xyz。该函数可以处理大小写字母和数字,并可以处理a-b-c,a-z0-9和-a-z等类似的情况。作为前导和尾随的-字符原样排印。

#include

#include

char *expand(char s1[], char s2[]);

int main()

{

char str1[80];

char str2[80];

gets(str1);

printf("%s\n", str1);

printf("%s\n", expand(str1, str2));

return 0;

}

char *expand(char s1[], char s2[])

{

int i, j, c1, c2;

i = 0;

j = 0;

if(s1[i] != '-')

c1 = s1[i];

else

{

s2[j++] = s1[i]; // 如果第一字符是‘-’,赋值给s2[j]

++i;

c1 = s1[i];

}

while(s1[i++] != '\0')

{

if(i == 25 || i == 9) //考虑 这种情况 a-z0-9

{

while(c1 <= 'z') // 将a—z 存放到 s2[j]中 同时将 c1 赋值 0

{

s2[j++] = c1;

++c1;

}

++i;

c1 = s1[i];

}

}

--i;

c2 = s1[i];

while(c1 <= c2)

{

s2[j++] = c1;

++c1;

}

s2[j] = '\0';

return s2;

}

代码写的很烂   有个问题  如果是a-z0-9这种情况  没有输出  我那个if判断语句if(i == 25 || i == 9)是不是有问题 有什么好的处理方法?

------解决方案--------------------

a-b-c怎么处理?

c语言expand函数,编撰expand(s1,s2)相关推荐

  1. c语言expand函数,编纂expand(s1,s2)

    编写expand(s1,s2) 编写expand(s1,s2),将字符串s1中类似于a-z类的速记符号在字符串s2中扩展为等价的完整列表abc.....xyz.该函数可以处理大小写字母和数字,并可以处 ...

  2. c语言定义函数insert,c语言编写函数insert(char s1[ ],char s2[ ],int pos),实现在字符串s1中的指定位置pos处插入字符串s2。...

    满意答案 人變了心從未 推荐于 2016.10.18 采纳率:54%    等级:12 已帮助:6450人 你写这个貌似不能实现额 用string.h库很容易实现的 要是你不能用string.h的话 ...

  3. c语言expand函数,练习 3-3 编写函数expand(s1, s2) (C语言 + 详细注释)

    题目:编写函数expand(s1, s2),将字符串s1中类似于a-z一类的速记符号在字符串s2中扩展为等价的完整列表abc···xyz.该函数可以处理大小写字母和数字,并可以处理a-b-c.a-z0 ...

  4. C语言程序设计 6-3 exercise 3-3 (10分) Write a function expand(s1,s2) that expands shorthand notations like

    C语言程序设计 第二版 第三章 第三章课后实战,完成全部的函数题(70分):自己选择编程题完成40分即可. 剩余时间:15天 6-3 exercise 3-3 (10分) Write a functi ...

  5. 对于PTA exercise 3-3 Write a function expand(s1,s2) 问题的一种解法与思考

    题干: Write a function expand(s1,s2) that expands shorthand notations like a-z in the string s1 into t ...

  6. c语言memcmp和java的_C语言memcmp()函数:比较m字节长的两个字符串s1和s2

    函数名:memcmp 头文件: 函数原型: void* memcmp(void *s1,void *s2,unsigned m); 功能:比较m字节长的两个字符串s1和s2 参数: s1 和 s2 为 ...

  7. 写一函数,实现两个字符串的比较。即自己写一个strcmp函数,函数原型为int strcmp(char * p1 ,char * p2); 设p1指向字符串s1, p2指向字符串s2。要求当s1=s2

    写一函数,实现两个字符串的比较.即自己写一个strcmp函数,函数原型为int strcmp(char * p1 ,char * p2); 设p1指向字符串s1, p2指向字符串s2.要求当s1=s2 ...

  8. 比较两个字符串s1和s2的大小,如果s1s2,则输出一个正数;若s1=s2,则输出0;若s1小于s2,则输出一个负数。要求:不用strcpy函数;两个字符串用gets函数读入。

    题目描述 比较两个字符串s1和s2的大小,如果s1>s2,则输出一个正数:若s1=s2,则输出0:若s1<s2,则输出一个负数.要求:不用strcpy函数:两个字符串用gets函数读入.例 ...

  9. 练习2-4:重新编写函数squeeze(s1,s2),将字符串s1中的任何字符与字符串时s2中的字符匹配的字符都删除

    #include <stdio.h> void squeeze(char s1[], char s2[]); int main(){/*练习2-4:重新编写函数squeeze(s1,s2) ...

最新文章

  1. Kali Linux搜索软件包
  2. mysql高效索引之覆盖索引
  3. 简历石沉大海、面试被刷?拒绝你的HR小姐姐,可能只是个AI
  4. sftp get服务器无文件会抛异常,sftp 异常,有遇到的吗
  5. arma预测matlab讲解,MATLAB中ARMA模型预测差分问题
  6. python3 读取文本文件_Python3 读写文件
  7. Hdu2660 Accepted Necklace【简单dfs】
  8. BZOJ 2038 小Z的袜子(hose)(分组)
  9. 3.8 以符号常量/字面常量取代魔法数
  10. css absolute relative 定位
  11. SPSS聚类分析——一个案例演示聚类分析全过程
  12. 国产linux聊天软件,程序员的全平台聊天软件:Rocket.Chat
  13. springboot基于微信小程序的运动软件前端的设计与实现毕业设计源码100932
  14. 哪些方面的纠纷可以去北京互联网法院提起诉讼?
  15. 实践出真知-神经网路篇-多任务学习
  16. Xiuno BBS 4.0 修改时间显示
  17. canvas+gif.js打造自己的数字雨头像
  18. 动手做一个小机器人——语音控制篇
  19. 聚会活跃气氛小程序-喝酒神器
  20. 十二、在PPT中添加页码

热门文章

  1. win10 程序员计算器按钮介绍
  2. LADY M过了自己的“赏味期限”?
  3. php 没有后缀名下载,javascript - 没有后缀名的链接?
  4. KDD CUP 99数据集分析
  5. 国内外主流云主机 | 对比分析 - 阿里云与Digital Ocean
  6. Linux文件与目录的复制、删除与移动(cp、rm、mv)
  7. PowerBI-时间智能函数-PARALLELPERIOD
  8. 弘辽科技:淘宝站外引流的方法有哪些?淘宝商家要知道!
  9. sqlite3出现SQLITE_BUSY错误码的原因以及解决方法
  10. thinkjs接收get请求、post请求