C语言编程题求解

来源:百度知道 编辑:UC知道 时间:2024/05/12 08:12:16
1)编一函数,对一个5*5的实数组b,求出两条对角线上行列下表均为偶数的元素之和;主函数定义x[5][5],x[i][j]=300i/500(j+1),调用函数,输出行列下标均为偶数的各元素之和.
2)编一函数,计算有50个元素的一维实数组中最大值的位置,main定义为y[50],y[i]=600*sin(y*0.16)
第一题题目有错误,更正如下:编一函数,对一个5*5实数组b,求出两条对角线上行,列下标均为奇数的各元素之和;主函数定义x[5][5],x[i][j]=300i/500(j+1),调用函数,输出行,列下标均为偶数的各元素之和.
题目二,要求把主函数写出来,然后定义一个求数组最大值位置的函数.请不要简写.另,要用简单的循环方法解题,不能用已有的函数!!即便是已有的,也要把已有的函数内部程序写出来.

1.
不是要所有的都要代码吧
下面是算法
a
int i,j;
for(i=0;i<5;i++)
{
j=4-i;
i就是主对角线上的元素的标号;
j就是副对角线上的元素的标号;
请自己判断
}
b
int i,j;
doublu sum;
sum=0.0;
for (i=0;i<5;i++)
for (j=0;j<5;j++)
{
i,j就是元素下标 ;
判断是否符合要求,如果符合的话sum+=a[i][j];
}

2.double vmax(double* d, int n)
{
double t;
int i;

if (n<0)
return 0;

t = d[0];

for (i=1;i<n;i++)
{
if (t>d[i])/*双精度的数比较不是太精确,有误差*/
t = d[i];
}

return(t);
}