Not sure how efficient this code is but it works
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
#include <string.h>
int main()
{
    char password[20];
    printf("New password: ");
    scanf("%s", password);
    int i;
    int hasCap = 0, hasLow = 0, hasNum = 0, hasOt = 0; //hasOt for other symbols
    for(i = 0; i <= strlen(password); i++)
    {
        if(isdigit(password))
        {
            hasNum++;
        }else if(islower(password))
        {
            hasLow++;
        }else if(isupper(password))
        {
            hasCap++;
        }else{
        hasOt++;
        }
    }
    hasOt--;
    if(hasCap > 0 && hasLow > 0 && hasNum > 0 && hasOt > 0)
    {
        printf("\nNice password.");
    }else {
    printf("\nYou need another password.");
    }
    return 0;
}