#include<stdio.h>
#include<math.h>
int n;
struct vector
{
int dir[100];
};
int dot(struct vector v1, struct vector v2)
{
int dp,j;
dp=0;
for(j=0;j<n;j++)
{
dp = dp + (v1.dir[j]*v2.dir[j]);
}
return dp;
}
float cosine(int vdot, float v1mod, float v2mod)
{
float cos1, vdo = vdot;
cos1 = (vdot/(v1mod*v2mod));
return cos1;
}
float modul(struct vector v1)
{
int j;
float v1mod;
float deg = 0;
for(j=0; j<n; j++)
{
deg = deg + ((v1.dir[j])*(v1.dir[j]));
}
v1mod = sqrt(deg);
}
int main()
{
int j;
scanf("%d", &n);
struct vector v1;
struct vector v2;
for(j=0;j<n;j++)
{
scanf("%d", &v1.dir[j]);
}
for(j=0;j<n;j++)
{
printf("%d/", v1.dir[j]);
}
printf("\n");
for(j=0;j<n;j++)
{
scanf("%d", &v2.dir[j]);
}
for(j=0;j<n;j++)
{
printf("%d/", v2.dir[j]);
}
printf("\n");
int vdot;
float v1mod, v2mod, cos2;
vdot = dot(v1,v2);
printf("%d\n", vdot);
v1mod = modul(v1);
printf("%f\n", v1mod);
v2mod = modul(v2);
printf("%f\n", v2mod);
cos2 = cosine(vdot, v1mod, v2mod);
printf("cosine = %f\n", cos2);
}
当我们编译代码时,余弦的输出显示“1.#QNANO。 我查了所有的网站,但没有找到正确的发生原因 错误。 也有人可以指定有多少这样的错误类型。 **代码中的错误是故意的。
最佳答案
Q
可能意味着它是一个 quiet not-a-number . O
可能意味着溢出。
您使用的具体平台和编译器是什么?
关于c - #QNANO 在 C 中表示或表示什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27128408/