带点数的数学任务
Mathematical task with point numbers
我刚开始学习C编程。
我想写一个程序来解决这个数学问题(1/2*r2*3.14)
这是我写的代码:
#include <stdio.h>
#include <conio.h>
main()
{
int r=5;
float sum;
sum = 1/2*r^2*3.14;
printf("%f", sum);
getch();
}
但是有一个错误,我不知道是什么错误。
起初我以为数字 3.14 有问题,但是当我将它更改为 3 时程序运行但答案是 6.0000 但它应该是 37.5
^ 是按位异或运算符。你必须为你的目的使用 pow()
sum = 1.0/2.0*pow(r,2)*3.14;
您的代码将为您提供 6.000。因为 ^ 用作 xor 运算符
1/2*r^2*3 = (0)d ^ (6)d = (000)b ^ (110)b = (110)b = (6)d
但是,3.14 而不是 3 会给你错误
1/2*r^2*3.14
因为,Xor 运算符不将 double 作为操作数
^
运算符不是为了提升你可以显式写的
#include <stdio.h>
#include <conio.h>
main()
{
int r=5;
float sum;
/* 1/2 * r^2 * pi <- this is the expression */
sum = 1.57 * r * r;
printf("%f", sum);
getch();
}
该表达式在程序中没有任何意义,除非有人阅读它,因此您可以添加注释并直接写入值。
如果您要提升到更高的幂,只需使用 pow()
函数即可。
此外,如果您跳过 .0
,编译器会将值假定为整数,并且 1/2
被 0.5
截断,它会产生 0
、1./2
也可以,但不是 1/2
.
在 C 中没有用于幂计算的运算符。 ^
用作 XOR 运算符。您需要使用库函数 pow
进行功率计算。
sum = 1.0 / 2 * pow(r,2) * 3.14;
请注意,我将 1/2
更改为 1.0/2
,因为 1/2
将始终给出 0
,而您将得到的结果是 0
.
我刚开始学习C编程。
我想写一个程序来解决这个数学问题(1/2*r2*3.14)
这是我写的代码:
#include <stdio.h>
#include <conio.h>
main()
{
int r=5;
float sum;
sum = 1/2*r^2*3.14;
printf("%f", sum);
getch();
}
但是有一个错误,我不知道是什么错误。 起初我以为数字 3.14 有问题,但是当我将它更改为 3 时程序运行但答案是 6.0000 但它应该是 37.5
^ 是按位异或运算符。你必须为你的目的使用 pow()
sum = 1.0/2.0*pow(r,2)*3.14;
您的代码将为您提供 6.000。因为 ^ 用作 xor 运算符
1/2*r^2*3 = (0)d ^ (6)d = (000)b ^ (110)b = (110)b = (6)d
但是,3.14 而不是 3 会给你错误
1/2*r^2*3.14
因为,Xor 运算符不将 double 作为操作数
^
运算符不是为了提升你可以显式写的
#include <stdio.h>
#include <conio.h>
main()
{
int r=5;
float sum;
/* 1/2 * r^2 * pi <- this is the expression */
sum = 1.57 * r * r;
printf("%f", sum);
getch();
}
该表达式在程序中没有任何意义,除非有人阅读它,因此您可以添加注释并直接写入值。
如果您要提升到更高的幂,只需使用 pow()
函数即可。
此外,如果您跳过 .0
,编译器会将值假定为整数,并且 1/2
被 0.5
截断,它会产生 0
、1./2
也可以,但不是 1/2
.
在 C 中没有用于幂计算的运算符。 ^
用作 XOR 运算符。您需要使用库函数 pow
进行功率计算。
sum = 1.0 / 2 * pow(r,2) * 3.14;
请注意,我将 1/2
更改为 1.0/2
,因为 1/2
将始终给出 0
,而您将得到的结果是 0
.