c语言expand函数,编撰expand(s1,s2)
编写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)相关推荐
- c语言expand函数,编纂expand(s1,s2)
编写expand(s1,s2) 编写expand(s1,s2),将字符串s1中类似于a-z类的速记符号在字符串s2中扩展为等价的完整列表abc.....xyz.该函数可以处理大小写字母和数字,并可以处 ...
- c语言定义函数insert,c语言编写函数insert(char s1[ ],char s2[ ],int pos),实现在字符串s1中的指定位置pos处插入字符串s2。...
满意答案 人變了心從未 推荐于 2016.10.18 采纳率:54% 等级:12 已帮助:6450人 你写这个貌似不能实现额 用string.h库很容易实现的 要是你不能用string.h的话 ...
- c语言expand函数,练习 3-3 编写函数expand(s1, s2) (C语言 + 详细注释)
题目:编写函数expand(s1, s2),将字符串s1中类似于a-z一类的速记符号在字符串s2中扩展为等价的完整列表abc···xyz.该函数可以处理大小写字母和数字,并可以处理a-b-c.a-z0 ...
- 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 ...
- 对于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 ...
- c语言memcmp和java的_C语言memcmp()函数:比较m字节长的两个字符串s1和s2
函数名:memcmp 头文件: 函数原型: void* memcmp(void *s1,void *s2,unsigned m); 功能:比较m字节长的两个字符串s1和s2 参数: s1 和 s2 为 ...
- 写一函数,实现两个字符串的比较。即自己写一个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 ...
- 比较两个字符串s1和s2的大小,如果s1s2,则输出一个正数;若s1=s2,则输出0;若s1小于s2,则输出一个负数。要求:不用strcpy函数;两个字符串用gets函数读入。
题目描述 比较两个字符串s1和s2的大小,如果s1>s2,则输出一个正数:若s1=s2,则输出0:若s1<s2,则输出一个负数.要求:不用strcpy函数:两个字符串用gets函数读入.例 ...
- 练习2-4:重新编写函数squeeze(s1,s2),将字符串s1中的任何字符与字符串时s2中的字符匹配的字符都删除
#include <stdio.h> void squeeze(char s1[], char s2[]); int main(){/*练习2-4:重新编写函数squeeze(s1,s2) ...
最新文章
- Kali Linux搜索软件包
- mysql高效索引之覆盖索引
- 简历石沉大海、面试被刷?拒绝你的HR小姐姐,可能只是个AI
- sftp get服务器无文件会抛异常,sftp 异常,有遇到的吗
- arma预测matlab讲解,MATLAB中ARMA模型预测差分问题
- python3 读取文本文件_Python3 读写文件
- Hdu2660 Accepted Necklace【简单dfs】
- BZOJ 2038 小Z的袜子(hose)(分组)
- 3.8 以符号常量/字面常量取代魔法数
- css absolute relative 定位
- SPSS聚类分析——一个案例演示聚类分析全过程
- 国产linux聊天软件,程序员的全平台聊天软件:Rocket.Chat
- springboot基于微信小程序的运动软件前端的设计与实现毕业设计源码100932
- 哪些方面的纠纷可以去北京互联网法院提起诉讼?
- 实践出真知-神经网路篇-多任务学习
- Xiuno BBS 4.0 修改时间显示
- canvas+gif.js打造自己的数字雨头像
- 动手做一个小机器人——语音控制篇
- 聚会活跃气氛小程序-喝酒神器
- 十二、在PPT中添加页码
热门文章
- win10 程序员计算器按钮介绍
- LADY M过了自己的“赏味期限”?
- php 没有后缀名下载,javascript - 没有后缀名的链接?
- KDD CUP 99数据集分析
- 国内外主流云主机 | 对比分析 - 阿里云与Digital Ocean
- Linux文件与目录的复制、删除与移动(cp、rm、mv)
- PowerBI-时间智能函数-PARALLELPERIOD
- 弘辽科技:淘宝站外引流的方法有哪些?淘宝商家要知道!
- sqlite3出现SQLITE_BUSY错误码的原因以及解决方法
- thinkjs接收get请求、post请求