我写了一个C程序。这是一个字符计数程序。我将提供如下输入
输入: ABCAPPPRC
并需要作为输出: A2B1C2P3R1
。
但它给出的输出为A2B1C2A1P3P2P1R1C1
. 它基本上按照我在程序中编写的逻辑进行。但我不想计算已经计算过的字符串的字符。你能建议我应该为此实施什么逻辑吗?
#include <stdio.h>
int main()
{
char str[30]= "ABCAPPPRC";
char strOutPut[60]="";
char *ptr= &str, *ptr2=&str;
char ch='A';
int count=0;
puts(str);
while (*ptr !=NULL)
{
count =0;
ch = *ptr;
while (*ptr2!= NULL)
{
if (*ptr2 == ch) count++;
ptr2++;
}
printf("%c%d",*ptr, count);
ptr++;
ptr2 = ptr;
}
}