【发布时间】:2015-12-03 07:42:10
【问题描述】:
我的代码得到一串字符。例如“aaabbdddd” 一个函数将字母和它们出现的次数插入到一个新字符串中。所以这个特定字符串的输出应该是“a3b2d4”。 我的问题是如何将数字插入字符串?我尝试使用 itoa 并将整个字符串转换为一个数字。 这是我的代码:
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define LONG 80
#define SHORT 20
void longtext(char longtxt[LONG], char shorttxt[SHORT])
{
int i, j=0, count=0, tmp;
char letter;
for (i = 0; i <= strlen(longtxt); ++i)
{
if (i == 0)
{
letter = longtxt[i];
++count;
}
else if (letter == longtxt[i])
++count;
else
{
shorttxt[j] = letter;
shorttxt[j + 1] = count;
j += 2;
count = 1;
letter = longtxt[i];
}
}
}
int main()
{
char longtxt[LONG] = "aaabbdddd",shorttxt[SHORT];
longtext(longtxt,shorttxt);
printf("%s", shorttxt);
}
我认为问题出在“shorttxt[j + 1] = count;”这一行。因为那是我想将 int 放入字符串的地方。
【问题讨论】:
-
请删除
c++标签。 -
你试过我下面的答案了吗?