На языке C я хочу проверить, имеет ли мой float какое-либо десятичное значение, отличное от 0, тогда я хочу применить условие if
, у меня есть формула с двумя способами, я хочу, чтобы эта программа была go со способом 1, если число с плавающей запятой содержит некоторые значения, отличные от 0, и go способом 2, если он имеет только 0 с десятичным знаком. Вот мой текущий код:
#include <stdio.h>
#include <cs50.h>
#include <ctype.h>
#include <string.h>
#include <math.h>
int letter;
int word;
int sentence;
int main(void) {
// prompt the user with the question
string article = get_string("TEXT: ");
// set the length of article
int n = strlen(article);
// add +1 if the article starts with alphanumeric letter
if (isalnum(article[0])) {
word = 1;
}
// count words
for (int i = 0; i < n; i++) {
// count letters
if (isalnum(article[i])) {
letter++;
}
// count for words
if (i < n - 1 && isspace(article[i]) && isalnum(article[i + 1])) {
word++;
}
// count for sentences
if (i > 0 && (article[i] == '!' || article[i] == '?' || article[i] == '.') && isalnum(article[i - 1])) {
sentence++;
}
}
// Formula Coleman's calculations:
float L = letter / word;
float S = sentence / word;
//THIS IS WHERE I NEED HELP
if (#it have some value other then "0") {
float grade1 = 0.0588 * (100 * L) - 0.296 * (100 * S) - 15.8;
} else
if (# it does have only 0s in decimals) {
float grade1 = 0.0588 * (100 * letter/word) - 0.296 * (100 * sentence/word) - 15.8;
}
grade1 = round(grade1);
grade1 = truncl(grade1);
int grade = grade1;
// print result
if (grade <= 1) {
printf("Before Grade 1\n");
} else
if (grade < 16) {
printf("Grade %i\n", grade);
} else {
printf("Grade 16+\n");
}
}