重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
double Multipy(double a, double b)
景德镇ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为成都创新互联公司的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:028-86922220(备注:SSL证书合作)期待与您的合作!
{
return a * b;
}
int main()
{
double a, b;
printf("Please Enter two data");
scanf("%lf %lf", a, b);
printf("The value : %lf", Multipy(a, b));
return 0;
}
函数类型是根据有无返回值判断的,无返回值就把函数定义为void类型
如果是单纯输出矩阵那就不用返回了,如果还要传回主函数有其它应用那就返回吧
编写九九乘法表主要是通过循环语句进行控制输出乘法表中各项。将实现九九乘法表的程序单独写成一个函数,就可以在主函数利用函数调用的形式来实现了。
具体实现方法可以参考如下程序:
#includestdio.h
void YangMultiplicationTable() // 实现九九乘法表的函数
{
int i=1,j=1;
for(i=1;i=9;i++) // 控制行数,共9行
for(j=1;j=i;j++) // 控制列数,每列的列数与行号一致
{
printf("%d*%d=%d",j,i,i*j); // 输出九九乘法表的每一项
if(i!=j) printf("\t"); // 每行中相邻两项隔开
if(i==j) printf("\n"); // 每行输出完毕后进行换行
}
}
void main()
{
YangMultiplicationTable(); // 通过函数调用的方式实现九九乘法表
}
这个就体现了C的模块化编程思想。正如你说的,main函数里写的是c=multi(a,b);,这只是一个函数名(看到名字就知道是实现一个乘法),你如果去掉main函数外面的int multi(x,y){ int x,y; int z; z=x*y; return(z);},在运行的时候肯定会报错,因为这个函数没有定义。就像我要找一个叫张三的人,首先他要存在,否则是没人搭理我的。
‘为什么不直接用main外面这个...再加个scanf来输入,printf来输出,不是也能求出积吗?’,这个是因为C语言语法规定,程序必须从main函数开始执行,所以要通过main函数来调用啊。楼主说的也不是不可行,不过你这么做就违背了模块化编程思想了。这是很小的程序,大家能看得明白,如果是很大的程序的话,纠错都会很困难,所以尽量做到一个函数只实现一个功能。
‘外面的代码和main里的代码有什么关系吗?’,就是调用和被调用的关系
自己看看吧,可以同时都换成注释的行,有助于你理解参数传递
:)======================================================
#includestdio.h
#define M 5
#define P 4
#define N 3
void mltp(float (*a)[P],float (*b)[N],float (*c)[N])
//void mltp(float *a,float *b,float *c)
{
for(int i=0;iM;i++)
for(int j=0;jN;j++)
for(int k=0;kP;k++)
c[i][j]+=a[i][k]*b[k][j];
//c[i*N+j]+=a[i*P+k]*b[k*N+j];
}
void main()
{
int i,j;
float a[M][P],b[P][N];
float c[M][N]={0};
printf("plz input a,b:\n");
for(i=0;iM;i++)
for(j=0;jP;j++)
scanf("%f",a[i][j]);
for(i=0;iP;i++)
for(j=0;jN;j++)
scanf("%f",b[i][j]);
mltp(a,b,c);
//mltp(a[0][0],b[0][0],c[0][0]);//等
//mltp((float*)a,(float*)b,(float*)c);//价
printf("result is:\n");
for(i=0;iM;i++)
{
for(j=0;jN;j++)
printf("%f\t",c[i][j]);
printf("\n");
}
}
void add_mul(int x,int y,int *sum,int *product){
*sum=x+y;
*produnct=x*y;
}