How to check if two equal-length strings are at least 50% equal in C

1 Answer

0 votes
#include <stdio.h>
#include <string.h>
#include <stdbool.h>

bool are50PercentEqual(char* str1, char* str2) {
    if (str1 == NULL || str2 == NULL || strlen(str1) != strlen(str2)) {
        return false;
    }

    int matchingChars = 0;

    for (int i = 0; i < strlen(str1); i++) {
        if (str1[i] == str2[i]) {
            matchingChars++;
        }
    }

    return (double)matchingChars / strlen(str1) >= 0.5;
}

int main() {
    char str1[] = "java c# c c++ python";
    char str2[] = "java c# c r rust sql";

    if (are50PercentEqual(str1, str2)) {
        puts("yes");
    }
    else {
        puts("no");
    }

    return 0;
}





/*
run:

yes

*/

 



answered May 10, 2024 by avibootz

Related questions

1 answer 106 views
...