不好意思咯,有四个哦。
1、有一个5*5的矩阵,编写一个函数, 函数原形是:void change(int *p),p为数组名(指针);函数将矩阵最大元素的值放在矩阵中心,四个角落分别放四个最小的元素(顺序为从左到右、从上到下存放)。
2、编写一函数viod mulMatri(int x[],int y[],int z[],int m,int,n);实现m行n列矩阵x与n行m列矩阵y的乘法运算,结果保存到矩阵z中。编写main函数调用自定义函数。
3、设计一函数 viod jsCount(int m,int k,int xx[]);函数将大于整数m且紧靠m的k个素数依次存到数组xx[]中。编写main函数调用自定义函数。
4、编写函数integral(float(*p)(float x),float a,float b,float n),使用矩形法实现参数为x的指针函数p的积分,指针p可以指向sin(x)或cos(x)函数,积分上下限分别为b,a,n为矩形法积分时矩形的数目。编写main函数调用自定义函数。
#include"iostream.h"
#include"stdlib.h"
#include"math.h"
#include"string.h"
int swap(const void *p1,const void *p2) //快排函数
{
return (*(int *)p2-*(int *)p1);
}
void change(int *p)
{
int a[25];
for(int i=0;i<25;i++)
a[i]=*(p+i);
qsort(a,25,sizeof(int),swap);
*(p+12)=a[0];
*p=a[24];
p[4]=a[23];
p[20]=a[22];
p[24]=a[21];
}
void mulMatri(int x[],int y[],int z[],int m,int n)
{
int i,j;
memset(z,0,m*n);
for(i=0,j=0;i<m*n;i++)
{
if(i%n==0)
j++;
else
z[j]+=x[i]*y[m*(i%n)];
}
}
int prime(int n) //判断素数函数
{
if(n==1||n==2)
return 1;
for(int i=2;i<=sqrt(n);i++)
{
if(n%i==0)
return 0;
}
return 1;
}
void jsCount(int m,int k,int xx[])
{
int i,j=0;
for(i=m; ;i++)
{
if(prime(i)==1)
{
xx[j]=i;
j++;
}
if(j==k)
break;
}
}
我编好前三个函数,第四个不大会,你另请高手吧^_^……
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息