① c语言编写自定义函数,计算给定数组的最大值、最小值和平均值,并且返回最大值和最小值的下标 急
#include<stdio.h>
voidfun(int*a,intn)
{
intmax,min,sum=0;
intx,y;//记录最大最小的下标
doubleaver;//计算平均值
min=max=a[0];
for(inti=0;i<n;i++)
{
sum+=a[i];
if(a[i]>max){max=a[i];x=i;}
if(a[i]<min){min=a[i];y=i;}
}
aver=sum/n;//计算平均值
printf("该数组的平均值为%lf ",aver);
printf("该数组的最大值下标为%d ",x);
printf("该数组的最小值下标为%d ",y);
}
intmain()
{
inta[10]={1,2,3,4,5,6,7,8,9,10};
fun(a,10);
return0;
}
② C语言中“max”和“min”如何使用
1、max函数
用于求数组中的最大元素。暂时用到的语法形式有以下3种:
C = max(A);
C = max(A, B);
C = max(A, [], dim);
描述:
C = max(A)返回数组不同维度的最大元素。如果A是一个向量,max(A)返回向量A中的最大元素;如果A是一个矩阵,max(A)将矩阵A的每一列视为向量,最后返回一个行向量,这个行向量的每个元素是对应列向量的最大元素;如果A是一个多维数组,max(A)将第一个尺寸不为1的维度里的值视为向量,然后返回每个向量的最大值。
C = max(A, B)返回一个数组,该数组的尺寸与A和B相同,该数组的元素取自A和B中的最大值。A和B的维度必须要匹配,或者它们都是标量。
C = max(A, [], dim)根据指定标量dim返回矩阵A中的最大元素。比如dim=1,则返回行向量,其中每个元素都是对应列的最大元素;比如dim=2,则返回列向量,其中每个元素都是对应行的最大元素。
2、min函数
用于求数组中的最小值。暂时用到的语法形式有3种:
C = min(A);
C = min(A, B);
C = min(A, [], dim);
(2)c语言求向量最大值扩展阅读:
C语言编写注意事项:
1、每个程序中一定包含main()函数, 尽管C语言中对函数命名没有限制。
2、printf函数永远不会自动换行,只能用 来实现, 回车键进行的换行在编译中会出现错误信息。
3、在vs2008中编译,测试需要加 system("pause");来暂停dos自动退出导致的printf无法显示。
4、所有自定义变量必须声明才能使用。
③ 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>
int a[9][9]={{5,15,9,16,7,10,2,6,3,20}};
//最大值函数声明
int getmax(int *,int *);
//最小值函数声明
int getmin(int *,int *)
//主函数
void main(void)
{
int imax,jmax,imin,jmin;
printf("矩阵最大值为%d,位置为%d行,%d列;",getmax(&imax,&jmax),imax,jmax);
printf("最小值为%d,位置为%d行,%d列;",getmin(&imin,&jmin),imin,jmin);
printf("正对角线和为%d!",getlsum());
printf("反对角线和为%d!",getrsum());
}
//求最大值函数
int getmax(int * imax,int * jmax)
{
int max=0;
for(int i=0;i<9;i++)
for(int j=0;j<9;j++)
{
if(a[i][j]>max)
{
*imax=i;
*jmax=j;
max=a[i][j];
}
}
return max;
}
//求最小值函数
int getmin(int * imin,int * jmin)
{
int min=65535;
for(int i=0;i<9;i++)
for(int j=0;j<9;j++)
{
if(a[i][j]<min)
{
*imin=i;
*jmin=j;
min=a[i][j];
}
}
return min;
}
//求正对角线和函数
int getlsum()
{
int sum=0;
for(int i=0;i<9;i++)
sum+=a[i][i];
return sum
}
//求反对角线和函数
int getrsum()
{
int sum=0;
for(int i=0;i<9;i++)
sum+=a[i][9-i];
return sum;
}
程序写好了,放在一起的,公用一个主函数,如果不要显示哪个功能就把哪块干掉,如果这你都不会我就没办法了!!!
⑤ C语言程序:请定义一个表示向量(即一个整数系列)的结构体,并编写一个模块化的程序来完成以下任务
#include<stdio.h>
struct vect
{
int v1;
int v2;
int v3;
};
void a(struct vect *v,int n)
{
v->v1=(v->v1)*n;
v->v2=(v->v2)*n;
v->v3=(v->v3)*n;
}
main()
{
struct vect myvector;
myvector.v1=10;
myvector.v2=20;
myvector.v3=30;
printf("(%d,%d,%d)\n",myvector.v1,myvector.v2,myvector.v3);
a( &myvector ,5);
printf("(%d,%d,%d)\n",myvector.v1,myvector.v2,myvector.v3);
getch();
}
⑥ 已知一个8乘8的对称矩阵,求它的最大模特征值以及对应的特征向量,用c语言怎么写
我说一个算法的思路:可以用jacobi旋转法 。通过旋转矩阵构造jacobi矩阵,可得特征值和对应的特征向量。
⑦ 求c语言向量的问题
这样即可!
⑧ C语言求解矩阵的最大特征值和向量的程序
编写对称矩阵的特征值和特征向量,其中矩阵用二维数组保存。特征向量要求有大选自<<徐世良数值计算程序集(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("不共线");
}