#include<stdio.h>
void function(int);
int main()
{
int x;
printf("Enter x:");
scanf("%d", &x);
function(x);
return 0;
}
void function(int x)
{
float fx;
fx=10/x;
if(10 is divided by zero)// I dont know what to put here please help
printf("division by zero is not allowed");
else
printf("f(x) is: %.5f",fx);
}
13163 次
4 に答える
8
#include<stdio.h>
void function(int);
int main()
{
int x;
printf("Enter x:");
scanf("%d", &x);
function(x);
return 0;
}
void function(int x)
{
float fx;
if(x==0) // Simple!
printf("division by zero is not allowed");
else
fx=10/x;
printf("f(x) is: %.5f",fx);
}
于 2010-03-21T01:59:26.107 に答える
6
これでうまくいくはずです。除算を実行する前に、ゼロによる除算を確認する必要があります。
void function(int x)
{
float fx;
if(x == 0) {
printf("division by zero is not allowed");
} else {
fx = 10/x;
printf("f(x) is: %.5f",fx);
}
}
于 2010-03-21T01:58:48.510 に答える
4
UNIXのデフォルトでは、浮動小数点のゼロ除算は例外を除いてプログラムを停止しません。代わりに、infinityまたはである結果を生成しNaNます。を使用して、これらのどちらも発生していないことを確認できますisfinite。
x = y / z; // assuming y or z is floating-point
if ( ! isfinite( x ) ) cerr << "invalid result from division" << endl;
または、除数がゼロでないことを確認できます。
if ( z == 0 || ! isfinite( z ) ) cerr << "invalid divisor to division" << endl;
x = y / z;
于 2010-03-21T02:05:05.743 に答える
1
C99を使用すると、特に使用できますfetestexcept(2)。
于 2010-03-21T02:00:48.117 に答える