刚刚被考到的字符串题,不会做,有没有大神帮忙?用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 上海

相关推荐

程序员小白条:你是沟通了900个,不是投了900份简历,你能投900份,意味着对面都要回复你900次,你早就找到实习了,没亮点就是这样的,别局限地区,时间投的也要早,现在都要7月了
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
2
分享

创作者周榜

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