hdu 1020 Encoding

来源:互联网 发布:java heap space -xss 编辑:程序博客网 时间:2024/04/29 21:47

题目

这个题有一个挺坑的误区,不是统计字符串中出现的所有字符的个数,而是统计相邻的个数

刚开始就写错了

正解:

#include <stdio.h>#include <string.h>int main(){    int n,i,num;    char str[10001];    scanf("%d",&n);    while(n--){        num=1;        scanf("%s",str);      for(i=0;i<strlen(str);i++){          if(str[i]==str[i+1]){ //如果一个字符跟它后面的字符相同则num++;                          num++;          }          else{              if(num<=1) {                     printf("%c",str[i]);                     num=1;                     }//记住num要重置为1。              else{                       printf("%d%c",num,str[i]);                       num=1;                   }          }      }printf("\n");    }return 0;}
错解:

#include<stdio.h>int main(){int str[10000+5];int t;scanf("%d",&t);while(t--){scanf("%s",str);solve();}void solve(char str[]){int num = 1;int len = strlen(str);for(int i=0; i<len; i++){if(str[i] == str[i+1] ) num++;else{if( num==1)  printf("%c",str[i]);else printf("%d%c",num,str[i]);num==1;}}printf("\n");}return 0;}