it doesn't work -help??????????????

Code:
#include <stdio.h>
#include <string.h>
#include <ctype.h>  
#include <stdlib.h>


main (int argc, char *argv[]) 
{

nt k, j ,i, len , siz, rep = 0; 

char *s1; 
char *s2;
char s3[30];


s1 = malloc (strlen(argv[1]) +1);
strcpy (s1,argv[1]);

s1 = malloc (strlen(argv[2]) +1);
strcpy (s2,argv[2]); 
  
len = strlen(s1); 
siz = strlen(s2);

while (rep <= 5)

{
   while (NULL != fgets(s3, 30, stdin))   

    {

if (strcmp(s1[0], '-')) && (strcmp(s1[1], 'f'))
	
	{
	  
	if (argc != 4)
	 {
		printf("invlaid number of arguments");
		exit(1); 
	 } 	
		
		for (k=0; k<= len; k++)

			{
	
						
			for (i=1; i<=len; i++)
 				
				{
		   		if ( 0==strcmp(s1[k], s1[i]) )
					{
									
						strcpy(s1[k], s2[j]);
					} 
				j++; 
				
				}

			fputs(s1,stdout);		
				 
		        }						            	    
 	}
   	
}


if ( 0==strcmp (s1[0], '-')) && ( 0==strcmp (s1[1],'f')) 
{

if (argc != 3)

	{
		printf("invalid number of arguments");
		exit(1); 
	} 	
	

		for (k=0; k<= len; k++)

			{
			   strcpy(s1[k], s2[j]);		
			
                           j++; 
                        }
 
		fputs( s1, stdout);
}

}
	
return 0;

}