444 - Encoder and Decoder

#include<stdio.h>
#include<string.h>
#include<algorithm>
using namespace std;
int main()
{
    char str[1000],str1[1000],str2[1000];
    int i,j,len,len1,a,b,c,count;
    while(gets(str))
    {
        len=strlen(str);
        j=0;
        c=0;
        count=0;
        for(i=len-1;i>=0;i--)
        {
            if((str[i]>='A'&&str[i]<='Z')||(str[i]>='a'&&str[i]<='z')||str[i]==' '||str[i]=='!'||str[i]==','||str[i]=='.'||str[i]==':'||str[i]==';'||str[i]=='?')
            {
                a=str[i];
                sprintf(str2,"%d",a);
                len1=strlen(str2);
                reverse(str2,str2+len1);
                printf("%s",str2);
            }
            else if(str[i]>='0'&&str[i]<='9')
            {
                count++;
                str1[j]=str[i];
                b=c*10+str1[j]-48;
                c=b;
                j++;
                if((b>=65&&b<=90)||(b>=97&&b<=99)||b==32||b==33||b==44||b==46||b==58||b==59||b==63)
                {
                    printf("%c",b);
                    count=0;
                    c=0;
                }
                else if(count==3)
                {
                    printf("%c",b);
                    count=0;
                    c=0;
                }
            }
        }
        printf("\n");
    }
    return 0;
}

0 comments: (+add yours?)