// Online C compiler to run C program online
#include <stdio.h>
#include <string.h>
int validatePhrase(char phrase [])
{
int i;
int lower= 0, digit=o, speacial= 0;
int len= strlen(phrase);
if (len < 8 || len > 20)
return 0;
for (i=0;i<len;i++)
{
if (islower(phrase[i]))
lower=1;
if (isdigit(phrase[i]))
digit=1;
if (phrase[i]=='!'||phrase[i]=='@'||phrase[i]=='#'||phrase[1]=='*'||phrase[i]=='^'||phrase[i]=='('||phrase[i]==')'||phrase[i]=='%')
special=1;
}
if (lower && digit && special)
return 1;
return 0;
}
int main ()
{
char phrase[21];
char vaild[5][21];
char invalid[5][21];
int vCount=0, iCount=0;
int TotalLength=0;
int i;
printf("Example of a vaild phrase:pass123!@\n\n");
for (i=0;i<5;i++)
{
printf("enter security phrase %d:",i+1);
scanf("%s",phrase);
if(validatePharse(phrase))
{
printf("Valid\n\n");
strcpy(valid[vCount],phrase);
totalLength +=strlen(phrase);
vCount++
}
else
{
printf("invalid\n\n");
strcpy(invalid[iCount],phrase);
iCount++;
}
}
printf("\nVALID PHRASES:\n");
for (i=0;i<iCount;i++)
printf("%s\n",invalid[i]);
if (vCount>0)
{
int shortest=strlen(valid[0]);
int longest=strlen(valid[0]);
char shortPhrase[21], longPharse[21];
strcpy(shortPhrase, valid[0]);
strcpy(longPharse, valid[0]);
for(i=1;< vCount;i++)
{
int len=strlen(valid[i]);
if(len< shortest)
{
shortest=len;
strcpy(shortPhrase, valid[i];
}
}
printf("\nAverage Length= %.2f\n",(float)totalLength/vCount);
printf("shortest valid phrase= %s\n",shortPharse);
printf("longest valid pharse= %s\n", longPharse);
}
return 0;
}