刚刚被考到的字符串题,不会做,有没有大神帮忙?用C语言

观察下面向你展示的示例,编写一个函数来实现从特定输入返回特点输出:

(注:传入的参数是一个字符串,且仅由字母a....z和A.....Z 组成)

示例1:

输入:“abc”

输出:“A-Bb-Ccc”

示例2:

输入:“Magic”

输出:“M-Aa-Ggg-Iiii-Ccccc”

示例3:

输入:“usLd”

输出:“U-Ss-Lll-Dddd”

全部评论
#include "stdio.h" #include "string.h" char* func(char *s){ static char ss[1000]; int s_len = strlen(s); char *p = ss; for (int i=0; i < s_len; ++i) { if(s[i]>='a'&&s[i]<='z'){ *(p++) = s[i] - 32; } else *(p++) = s[i]; for (int j=0; j < i; ++j) { if(s[i]>='a'&&s[i]<='z'){ *(p++) = s[i]; } else *(p++) = s[i] - 32; } *p++ = '-'; } *p--; *p = '\0'; return ss; } int main(){ char s[26]; gets(s); printf("%s",func(s)); }
点赞 回复 分享
发布于 2023-03-08 22:34 河南
// // Created by 28018 on 2023/3/8. // #include "stdio.h" #include "string.h" char* func(char *s){ static char ss[1000]; int n=0; int s_len = strlen(s); for (int i=0; i < s_len; ++i) { if(s[i]>='a'&&s[i]<='z'){ s[i]-=32; ss[n++] = s[i]; } else{ ss[n++] = s[i]; } for (int j=0; j < i; ++j) { if(s[i]>='a'&&s[i]<='z'){ } else { ss[n++] = s[i] += 32; } } ss[n++] = '-'; } printf("%s",ss); return ss; } int main(){ char s[26]; gets(s); printf("%s",func(s)); }
点赞 回复 分享
发布于 2023-03-08 20:50 河南
#include <string.h> #include <ctype.h> #include <stdio.h> void specialOutput(char inputStr[]) { int len = strlen(inputStr); int i, j; char outputStr[200] = ""; for(i=0; i</stdio.h></ctype.h></string.h>
点赞 回复 分享
发布于 2023-03-08 19:18 上海

相关推荐

半解316:内容充实,细节需要修改一下。 1,整体压缩为一页。所有内容顶格。 2,项目描述删除,直接写个人工作量 修改完之后还需要建议,可以私聊
点赞 评论 收藏
分享
05-16 11:16
已编辑
东华理工大学 Java
牛客73769814...:盲猜几十人小公司,庙小妖风大,咋不叫她去4️⃣呢😁
牛客创作赏金赛
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-01 12:22
点赞 评论 收藏
分享
评论
点赞
2
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务