我想压缩一系列字符。例如,如果我输入
输入:FFFFFBBBBBBBCCBBBAABBGGGGGSSS(27 x 8 位 = 216 位)输出:F5B7C2B3A2B2G5S3(14 x 8 位 = 112 位)
到目前为止,这就是我所拥有的,我可以计算数组中的字符数。但最重要的任务是按相同的顺序计算它们。我似乎无法弄清楚 :( 几周前我就开始关注 C 语言,我对数组、指针、ASCII 值有所了解,但无论如何似乎无法按顺序计算这些字符。我尝试了什么都有。这种方法不好,但它是我最接近它的方法。
#include <stdio.h>
#include <conio.h>
int main()
{
int charcnt=0,dotcnt=0,commacnt=0,blankcnt=0,i, countA, countB;
char str[125];
printf("*****String Manipulations*****\n\n");
printf("Enter a string\n\n");
scanf("%[^'\n']s",str);
printf("\n\nEntered String is \" %s \" \n",str);
for(i=0;str[i]!='\0';i++)
{
// COUNTING EXCEPTION CHARS
if(str[i]==' ')
blankcnt++;
if(str[i]=='.')
dotcnt++;
if(str[i]==',')
commacnt++;
if (str[i]=='A' || str[i]=='a')
countA++;
if (str[i]=='B' || str[i]=='b')
countA++;
}
//PRINT RESULT OF COUNT
charcnt=i;
printf("\n\nTotal Characters : %d",charcnt);
printf("\nTotal Blanks : %d",blankcnt);
printf("\nTotal Full stops : %d",dotcnt);
printf("\nTotal Commas : %d\n\n",commacnt);
printf("A%d\n", countA);
}