1383 计算字符串所有碎片及所有碎片的平均长度

来源:互联网 发布:淘宝客服有在家做的吗 编辑:程序博客网 时间:2024/06/07 13:16

这里写图片描述

#include <stdio.h>#include <string.h>int main() {    int i,j,k,t,len,fr;    char str[100][100];    scanf("%d",&t);    while(t--) {        fr=0;        scanf("%s",&str[0]);        len = strlen(str[0]);        for(i = 0,j=0; i<len; i++) {            if(i+1<len) {                if(str[0][i]==str[0][i+1]) {                    //put in fragment array                    str[fr+1][j]=str[0][i];                    j++;                } else {                    //put in fragment array and ended it to create new row (fr++)                     str[fr+1][j]=str[0][i];                    str[fr+1][j+1]='\0';                    fr++;                    j=0;                }            } else {                //put in fragment array and ended it to create new row (fr++)                 str[fr+1][j]=str[0][i];                str[fr+1][j+1]='\0';                fr++;                j=0;            }        }        for(i=1; i<fr+1; ++i) {            for(j=i+1; j<fr+1; ++j) {                //printf("%d %d %s %s\n",i,j,str[i],str[j]);                if(strcmp(str[i],str[j])==0) {                 //delete the last one for same                    //printf("%d %d %s\n",i,j,str[i]);                    str[j][0]='\0';                }            }        }        for(i=1; i<fr+1; i++) {            if(str[i][0]!='\0') {                printf("%s ",str[i]);            }        }        printf("%.2lf\n",(double)len/(double)fr);    }    return 0;}
原创粉丝点击