#include <stdio.h>
#include <string.h>
#include <ctype.h>
#define SIZE 1000
#define WORDS 10
int main(void)
{
char message[SIZE];
const char *spamWords[WORDS] =
{
"free",
"winner",
"win",
"prize",
"money",
"urgent",
"offer",
"click",
"buy",
"congratulations"
};
int score = 0;
printf("Enter an email message:\n"); fgets(message
, SIZE
, stdin
);
for (int i = 0; i < SIZE; ++i)
{
message[i] =
(char)tolower((unsigned char)message
[i
]); }
for (int i = 0; i < WORDS; ++i)
{
if (strstr(message
, spamWords
[i
]) != NULL
) {
++score;
}
}
printf("Spam score = %d\n", score
);
if (score >= 5)
{
printf("The message is probably spam.\n"); }
else if (score >= 2)
{
printf("The message may be spam.\n"); }
else
{
printf("The message is probably not spam.\n"); }
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdHJpbmcuaD4KI2luY2x1ZGUgPGN0eXBlLmg+CgojZGVmaW5lIFNJWkUgMTAwMAojZGVmaW5lIFdPUkRTIDEwCgppbnQgbWFpbih2b2lkKQp7CiAgICBjaGFyIG1lc3NhZ2VbU0laRV07CgogICAgY29uc3QgY2hhciAqc3BhbVdvcmRzW1dPUkRTXSA9CiAgICB7CiAgICAgICAgImZyZWUiLAogICAgICAgICJ3aW5uZXIiLAogICAgICAgICJ3aW4iLAogICAgICAgICJwcml6ZSIsCiAgICAgICAgIm1vbmV5IiwKICAgICAgICAidXJnZW50IiwKICAgICAgICAib2ZmZXIiLAogICAgICAgICJjbGljayIsCiAgICAgICAgImJ1eSIsCiAgICAgICAgImNvbmdyYXR1bGF0aW9ucyIKICAgIH07CgogICAgaW50IHNjb3JlID0gMDsKCiAgICBwcmludGYoIkVudGVyIGFuIGVtYWlsIG1lc3NhZ2U6XG4iKTsKICAgIGZnZXRzKG1lc3NhZ2UsIFNJWkUsIHN0ZGluKTsKCiAgICBmb3IgKGludCBpID0gMDsgaSA8IFNJWkU7ICsraSkKICAgIHsKICAgICAgICBtZXNzYWdlW2ldID0KICAgICAgICAgICAgKGNoYXIpdG9sb3dlcigodW5zaWduZWQgY2hhciltZXNzYWdlW2ldKTsKICAgIH0KCiAgICBmb3IgKGludCBpID0gMDsgaSA8IFdPUkRTOyArK2kpCiAgICB7CiAgICAgICAgaWYgKHN0cnN0cihtZXNzYWdlLCBzcGFtV29yZHNbaV0pICE9IE5VTEwpCiAgICAgICAgewogICAgICAgICAgICArK3Njb3JlOwogICAgICAgIH0KICAgIH0KCiAgICBwcmludGYoIlNwYW0gc2NvcmUgPSAlZFxuIiwgc2NvcmUpOwoKICAgIGlmIChzY29yZSA+PSA1KQogICAgewogICAgICAgIHByaW50ZigiVGhlIG1lc3NhZ2UgaXMgcHJvYmFibHkgc3BhbS5cbiIpOwogICAgfQogICAgZWxzZSBpZiAoc2NvcmUgPj0gMikKICAgIHsKICAgICAgICBwcmludGYoIlRoZSBtZXNzYWdlIG1heSBiZSBzcGFtLlxuIik7CiAgICB9CiAgICBlbHNlCiAgICB7CiAgICAgICAgcHJpbnRmKCJUaGUgbWVzc2FnZSBpcyBwcm9iYWJseSBub3Qgc3BhbS5cbiIpOwogICAgfQoKICAgIHJldHVybiAwOwp9