10789 - Prime Frequency

#include<stdio.h>
#include<string.h>
char str[2001];
int arr[201],arr1[201],arr2[201],arr3[201];
int main()
{
    int len,a,b,t,i,j,k,l,m,x;
    scanf("%d",&t);
    getchar();
    for(x=1; x<=t; x++)
    {
        scanf("%s",str);
        len=strlen(str);
        for(i=0; i<len; i++)
        {
            if(str[i]>='0'&&str[i]<='9'||str[i]>='A'&&str[i]<='Z'||str[i]>='a'&&str[i]<='z')
            {
                a=str[i];
                arr[a]++;
            }
        }
        j=0;
        for(i=0; i<201; i++)
        {
            if(arr[i]!=0)
            {
                arr1[j]=arr[i];
                arr2[j]=i;
                j++;
            }
        }
        for(k=0; k<j; k++)
        {
            l=2;
            while(l<arr1[k]||arr1[k]==1)
            {
                if(arr1[k]%l==0||arr1[k]==1)
                {
                    arr1[k]=0;
                    break;
                }
                l++;
            }
        }
        b=0;
        m=0;
        for(i=0; i<j; i++)
        {
            if(arr1[i]!=0)
            {
                b=1;
                arr3[m++]=arr2[i];
            }
        }
        if(b==0)
        {
            printf("Case %d: empty\n",x);
        }
        else if(b==1)
        {
            printf("Case %d: ",x);
            for(i=0; i<m; i++)
            {
                printf("%c",arr3[i]);
            }
            printf("\n");
        }
        memset(arr,0,sizeof(arr));
        memset(arr1,0,sizeof(arr1));
        memset(arr2,0,sizeof(arr2));
        memset(arr3,0,sizeof(arr3));
        memset(str,'\0',sizeof(str));
    }
    return 0;
}

0 comments: (+add yours?)