字符串转换
标题:字符串转换 | 时间限制:1秒 | 内存限制:262144K | 语言限制:不限
将一个只包含英文小写字母和大写字母和阿拉伯数字的字符串,按照如下规则转换,字符串中连续出现的字符转化为字符加上字符连续出现的次数,同一个字母的大小写认为是相等的,结果中输出小写。
s = input() i = 0 LEN = len(s) ans = [] s = s.lower() while i < LEN: c = s[i] t = i if i < LEN - 1 and s[i] == s[i + 1]: while i < LEN - 1 and s[i] == s[i + 1]: i += 1 i += 1 ans.append(c) ans.append(str(i - t)) else: ans.append(c) ans.append("1") i += 1 print(''.join(ans))
#include<stdio.h> #include<string.h> #define MAX_LEN 100 char a[128]; int main() { int i=0; int len=0; scanf("%s",a); len = strlen(a); if(len <= 0 || len > MAX_LEN) { return -1; } for(i=0;i<len;i++) { if(a[i] >= 'A' && a[i] <='Z') { a[i]+=32; } } for(i=0;i<len;i++) { int j=i+1; while(j<len && a[i] == a[j]) { j++; } printf("%c%d",a[i],j-i); i=j-1; } printf("\n"); return 0; }//manfen