当前位置:首页 » 编程语言 » c语言求向量

c语言求向量

发布时间: 2022-12-22 19:11:13

① 怎么用c语言实现向量操作

//使用动态分配
#include<stdio.h>
#include<stdlib.h>
#include<malloc.h>
inti,L;
char*p;
voidmain(){
for(i=0;i<20000;i++){
L=rand();
p=malloc(L);
if(NULL==p){
printf("mallocerror! ");
continue;
}
memset(p,0,L);
free(p);
}
}
//不使用动态分配
#include<stdio.h>
#include<stdlib.h>
#include<memory.h>
#defineMAXLEN30000
inti,L;
charbuf[MAXLEN];
char*p;
voidmain(){
p=&buf[0];
for(i=0;i<20000;i++){
L=rand();
if(L>MAXLEN){
printf("L>MAXLEN==%d,ignorespilth. ",MAXLEN);
L=MAXLEN;
}
memset(p,0,L);
}
}

② C语言求向量夹角的程序部分看不懂 高手帮看看分析 红字部分不懂

vectorProct 这个函数写的有问题, 看函数的实现, length应该是指数组vecB和vecB中的数据个数, 但是在函数里明明已经写了是3, 这个参数就是多余的, 它只能等于3.

另外, 这个程序为了表示是3维向量, 定义了一个常数#define VECSIZE 3

但是在这里又直接写3, 不一致.
这样虽然不会出错, 但是给理解造成困惑.

vectorNorm 也一样.

double x[VECSIZE] = {0.0,1.0,0.0};

这个是这里作为示例, 求两个向量的夹角的第一个向量的变量,
变量名是x, 而不是X轴, 而这个向量是y轴的,
这样同样是容易让人困惑, 下面的y同理.

这样, 整个程序的含义是:
函数 vectorProct求两个向量的点积

函数 vectorNorm 求向量的模(长度)

main函数是示例:
定义了x和y两个向量,
用vectorNorm分别求出两个向量的模, xNorm, yNorm

用vectorProct求出两个向量的叉积, 然后除以两个向量的模, 得到夹角的余弦值, cos_phi

用acos反余弦求出两个向量的夹角(单位弧度), 然后换算成角度为单位, cos_phi

③ 如何用C语言编程:求两个空间向量的夹角呀可以用坐标表示~谢谢!

你先定义一个结构体,表示空间的向量,然后利用公式:
cosβ=(x1*x2+y1*y2+z1*z2)/sqrt((x1*x1+y1*y1+z1*z1)*(x2*x2+y2*y2+z2*z2))
然后β可以用反三角函数求得。

④ c语言 向量的运算

根据题意可得如下代码:

#include<stdio.h>
intmain()
{
intn;
inta[1010],b[1010];
inti,ans=0;
scanf("%d",&n);
for(i=0;i<n;++i){
scanf("%d",&a[i]);
}
for(i=0;i<n;++i){
scanf("%d",&b[i]);
}
for(i=0;i<n;++i){
ans+=a[i]*b[i];
}
printf("%d ",ans);
return0;
}

⑤ c语言求向量的内积

看没人帮你做,我帮你写吧

#include<stdio.h>

intmain()
{
intn,i;
doublea[105],b[105],sum=0;
printf("输入向量的维数:");
scanf("%d",&n);
printf("输入A向量:");
for(i=0;i<n;i++)scanf("%lf",&a[i]);
printf("输入b向量:");
for(i=0;i<n;i++)scanf("%lf",&b[i]);
for(i=0;i<n;i++)sum+=a[i]*b[i];
printf("A·B=%lf ",sum);
return0;
}

⑥ c语言.求向量旋转后的向量的问题

错误原因:
输入角度的时候碰到麻烦了,重新定义了一个int类型的变量用来保存角度,结果代码里忘了换变量名称了。

修正后的代码:

#include<stdio.h>
#include<math.h>
double p=3.1415926;

int main()
{
double x,y,x1,x2;
double r2,r1,d;
int angle;
char flag = 'Y';

while(flag == 'Y' || flag == 'y')
{
printf("Please input the new xCoord, yCoord, Angle:\n");
scanf_s("%lf %lf %d", &x, &y, &angle);

r2=(p/180)*angle;
r1=atan(y/x)+r2;
d=sqrt(x*x+y*y);
x1=d*cos(r1);
x2=d*sin(r1);
printf("%.4lf %.4lf\n",x1,x2);

printf("Do you want to continue ? (Y/N)\n");
fflush(stdin);
flag = getchar();
}

return 0;
}

#include<stdio.h>
#include<math.h>
double p=3.1415926;

int main()
{
double x,y,x1,x2;
double r2,r1,d;
int angle;
char flag = 'Y';

while(flag == 'Y' || flag == 'y')
{
printf("Please input the new xCoord, yCoord, Angle:\n");
scanf_s("%lf %lf %d", &x, &y, &angle);

r2=(p/180)*angle;
r1=atan(y/x)+r2;
d=sqrt(x*x+y*y);
x1=d*cos(r1);
x2=d*sin(r1);
printf("%.4lf %.4lf\n",x1,x2);

printf("Do you want to continue ? (Y/N)\n");
fflush(stdin);
flag = getchar();
}

return 0;
}

测试结果:

⑦ c语言要求结构体储存空间向量求向量的模,怎么实现输入任意向量都完成运算

已知一个平面的两个法向量a=(x1,y1,z1),b=(x2,y2,z2) 其中x1,x2,y1,y2,z1,z2均为已知
设平面法向量为n=(x,y,z)
n为平面的法向量则
n*a=0 x*x1+y*y1+z*z1=0
n*b=0 x*x2+y*y2+z*z2=0
两个方程,三个未知数x,y,z
故设出其中一个,例如设x=1(不能为0),从而求出y,z的值,即可得到平面的一个法向量,因为平面的法向量有无数个,且模可以任意,故可以这样假设

⑧ 求c语言向量的问题

这样即可!

⑨ C语言求向量的矢量积、模、单位向量、还有判断2个向量是否共线,在线等答案,酱油党麻烦让让

//很简单,你对照一下吧。。。#include <stdio.h>
#include <math.h>
void main()
{
int i,sum=0,p[3]={1,2,3},p1[3]={2,3,4},flag=1;
double model=0,model1=0,temp;
for(i=0;i<3;i++)
{sum+=p[i]*p1[i];
model+=p[i]*p[i];
model1+=p1[i]*p1[i];
}
model=sqrt(model);
model1=sqrt(model1);
printf("向量p,p1的积: %d\n",sum);
printf("p,p1的模为:%lf %lf\n",model,model1);
temp=p[0]/p1[0];
if((p[1]*1.0/p1[1]-temp>=1e-3) &&(p[2]*1.0/p1[2]-temp>=1e-3))
flag=0;
if(flag)
printf("两向量共线!");
else
printf("不共线");

}

⑩ C语言用一维数组求两个向量之和,结果不对呀,求指教

#include<stdio.h>
int main()
{ double a[3];
double b[3];
for(int i=0;i<3;i++)
{
scanf("%lf",&a[i]);
}
for( i=0;i<3;i++)
{
scanf("%lf",&b[i]);
}
double s[3];

for( i=0;i<3;i++)
{
s[i]=a[i]+b[i];
printf("%lf\n",s[i]);

}
return 0;

}
你的s定义为三个元素,最后一个元素为s[2]而不是s[3] ,我的回答中把你所有的输出都换行给显示了

热点内容
怎么才能编译本书 发布:2025-05-16 10:27:47 浏览:757
ssd服务器电脑 发布:2025-05-16 10:26:25 浏览:827
水果忍者源码 发布:2025-05-16 10:26:22 浏览:472
python中ord函数 发布:2025-05-16 10:14:25 浏览:340
电脑启动后无法连接服务器 发布:2025-05-16 10:06:39 浏览:984
jar包编译过程 发布:2025-05-16 10:03:37 浏览:679
选举源码 发布:2025-05-16 09:58:59 浏览:749
超级访问陈小春应采儿 发布:2025-05-16 09:43:29 浏览:479
缓存视频合并工具最新版 发布:2025-05-16 09:35:03 浏览:195
花雨庭服务器ip地址和端口 发布:2025-05-16 09:34:58 浏览:240