输入一个字符串,字符串仅包含三个字符,首尾字符仅为大写字母或小写字母或数字,中间字符为“减号”符,用指针操作字符串,将其中的首尾字符展开形成字符串。即将其中形如“a-f”、“A-D”、“3-8”的形式展开成“abcdef”、“ABCD”、“345678”,若出现诸如“A-9”、“f-a”(不符合ASCII顺序)、“B-f”(大小写不能混)等形式则提示字符串不合理,无法展开。
1条回答 默认 最新
- qtchen_1988 2020-04-26 16:55关注
#include <stdio.h> #include <malloc.h> int main() { char *in = (char *)malloc(sizeof(char)*4); int i; for(i=0;i<3;i++) in[i] = getchar(); in[i] = '\0'; int a,b,d,flag; a = in[0]; b = in[2]; d = b - a; flag = 0; if((a >= 'A' && a <= 'Z') && (b >= 'A' && b <= 'Z')) { if(d > 1) flag = 1; } else if((a >= 'a' && a <= 'z') && (b >= 'a' && b <= 'z')) { if(d > 1) flag = 1; } else if((a >= '0' && a <= '9') && (b >= '0' && b <= '9')) if(d > 1) flag = 1; if(flag) { char *out = (char *)malloc(sizeof(char)*(d+2)); for(i=0;i<(d+1);i++) out[i] = a+i; out[i] = '\0'; printf("Output:%s\n",out); } else { printf("Input error!!!!\n"); } return 0; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 多电路系统共用电源的串扰问题
- ¥15 slam rangenet++配置
- ¥15 有没有研究水声通信方面的帮我改俩matlab代码
- ¥15 对于相关问题的求解与代码
- ¥15 ubuntu子系统密码忘记
- ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
- ¥15 保护模式-系统加载-段寄存器
- ¥15 电脑桌面设定一个区域禁止鼠标操作
- ¥15 求NPF226060磁芯的详细资料
- ¥15 使用R语言marginaleffects包进行边际效应图绘制