c语言乘法表程序怎么写

c语言乘法表程序怎么写,第1张

本文所用思想是在9行9列方形乘法表的基础上“切割”得到左上、右上、左下、右下四种形态的九九乘法表。

最后使用switch-case语句对四种形态的九九乘法表进行整理以完善程序。首先,我们嵌套两个for循环语句得到一个方形的九九乘法表。得到的九九乘法表方形块如下。下一步,我们对方形块进行“切割”,这里我们以左下乘法表为示例。

由图我们可以添加两条约束:1.左下乘法表打印斜边的边界条件为i等于j(本文打印顺序为i×j),即当i>=j时,乘法式显示,当i2.换行条件为j==9;同理,我们可以得到右上乘法表。但是当我们想要切割左上和右下乘法表时,可以发现缺少了部分乘法公式。

1,若程序定义为三行三列的矩阵,并在主函数中键盘赋值。请编写函数juzhen(int a[][3],int n),函数功能是:使矩阵左下角元素中的值乘以.例如:若矩阵中的值为:

1 9 7

2 3 8

4 5 6

n=3,则矩阵值变为:

1 9 7

6 9 8

12 15 18

注:二维数组下三角元素每行最后元素的列标和该列的列号一致

#include <stdio.h>

int juzhen(int a[][3],int n)

{

int i,j

for (i=1i<3i++)

for (j=0j<=ij++)

a[i][j]=a[i][j]*n

}

main()

{

int i,j,a[3][3],m

clrscr()

printf("please enter 9 numbers :\n")

for (i=0i<3i++)

for (j=0j<3j++)

scanf("%d",&a[i][j])

printf("the old ju zhen is:\n")

for (i=0i<3i++)

{

for (j=0j<3j++)

printf("%3d",a[i][j])

printf("\n")

}

printf("please enter a int number:\n")

scanf("%d",&m)

juzhen (a,m)

printf("the new ju zhen is:\n")

for (i=0i<3i++)

{

for (j=0j<3j++)

printf("%3d",a[i][j])

printf("\n")

}

}

2,请编写函数juzhen,该函数的功能是:将三行四列矩阵x乘以四行三列矩阵y,结果放在三行三列矩阵中。矩阵相乘的基本方法是:矩阵Xy中行列下标分别为i,j的元素的值,是矩阵X中第i行上四个元素与矩阵Y中第j列上四个元素对应相乘的积。

X和Y矩阵原型可运行后看到!

#include <conio.h>

#include <stdio.h>

void juzhen (int a[3][4],int b[4][3],int ab[3][3])

{

int i,j,z

for (i=0i<3i++)

for (j=0j<4j++)

for (z=0z<3z++)

ab[i][z]=ab[i][z]+a[i][j]*b[j][z]/*此得为要填写的内容*/

}

main()

{

int x[3][4]={1,0,1,1,2,1,0,1,1,2,0,3}

int y[4][3]={1,1,1,0,0,0,2,1,1,1,1,3}

int xy[3][3]={0},i,j

clrscr()

juzhen (x,y,xy)

printf("x ju zhen is:\n")

for (i=0i<3i++)

{

for (j=0j<4j++)

printf("%3d",x[i][j])

printf("\n")

}

printf("y ju zhen is:\n")

for (i=0i<4i++)

{

for (j=0j<3j++)

printf("%3d",y[i][j])

printf("\n")

}

printf("xy ju zhen is:\n")

for (i=0i<3i++)

{

for (j=0j<3j++)

printf("%3d",xy[i][j])

printf("\n")

}

}

由于你没有说要求,我就写了两个,这是两道比较精典的求c语言矩阵乘法程序

#include<stdio.h>

int i

int n

int aa[1000] /*最多1000个数相乘,可以自己修改*/

int sum=1

void main()

{

printf("请输入要求相乘数的个数:")

scanf("%d",&n)

printf("请输入要求相乘数的数字:")

printf("\n")

for(i=0i<ni++)

{

scanf("%d",&aa[i])

sum=sum*aa[i]

}

printf("计算结果为%d:",sum)

printf("\n")

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/10973146.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-12
下一篇 2023-05-12

发表评论

登录后才能评论

评论列表(0条)

保存