As Ron already pointed out, your assumption about what strcmp will return seems to be wrong. Here is what the documentation says:
Returns an integral value indicating the relationship between the strings:
A zero value indicates that both strings are equal.
A value greater than zero indicates that the first character that does not match has a greater value in str1 than in str2; And a value less than zero indicates the opposite.
So your code is probably supposed to be something like:
int result = strcmp (pch, test);
if (result > 0)
Elastmod3[i]= 90.0;
else if (result == 0)
Elastmod3[i]= 70.0;
else
Elastmod3[i]= 888.0;
Note that I have removed the atof calls, which are just nonesense.
And while we are at it: The entire comparison with strcmp does not make much sense. You probably want to compare the float values. And in line
Elastmod[i]= atof(pch) ;
you converted already pch to float. Why don't you just compare that value to another, like:
float test = 0.0333;
...
float pchf = atof (pch);
...
if (pcfh > test)
Elastmod3[i]= 90.0;
else if (pcfh == test)
Elastmod3[i]= 70.0;
else
Elastmod3[i]= 888.0;
And one more comment: Test test on equality of two floating point values does in most cases make not much sense.