#include<stdioh>
#include<stdlibh>
void memory(int p,int m,int n); //分配的内存的函数;
void readdata(intp,int m,int n);
void plus(int u,int i,int m,int n); //求和函数,要求两个矩阵同型
void redu(int u,int i,int m,int n); //求差,要求两个矩阵同型
void mult(int u,int i,int m,int n); //矩阵的积;乘法要求前一个矩阵的行数等于后一个矩阵的列数;
void release(int p,int m,int n); //释放内存的函数;
int main() //也可使用switch语句来选择求和求差求积
{
int m,n;
scanf("%d%d",&m,&n); //输入m,n两个数,确定矩阵要分配内存的大小
int k,q,o;
memory(k,m,n);
memory(q,m,n);
memory(o,m,n); //备用,用来存放结果的一块内存;
readdata(k,m,n);
readdata(q,m,n);
plus(k,q,m,n);
redu(k,q,m,n);
mult(k,q,m,n); //在本行加//则可不求矩阵乘法,使程序适用于一切mn的矩阵加法;
realease(k,m,n);
realease(q,m,n);
}
void memory(int p,int m,int n)
{
p=(int)malloc(msizeof(int);
for(i=0;i<n;i++)
{
p[i]=(int)malloc(nsizeof(int));
}
}
void release(int p,int m,int n)
{
for(i=0;i<n;i++)
{
free(p[i]);
p[i]=0;
}
free(p);
p=0;
}
void readdata(int p,int m,int n)
{
int i,j;
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
scanf("%d",&p[i][j]); //要求用户由行到列输入矩阵的数据;
}
}
void plus(int u,int i,int m,int n)
{
int r,j;
for(r=0;r<m;r++)
{
for(j=0;j<n;j++)
printf("%5d",u[r][j]+i[r][j]);
printf("\n");
}
}
void redu(int u,int i,int m,int n)
{
int r,j;
for(r=0;r<m;r++)
{
for(j=0;j<n;j++)
printf("%5d",u[r][j]-i[r][j]);
printf("\n");
}
void mult(int u,int i,int m,int n)
{
int r,j,k,d=0;
for(r=0;r<m;r++)
{
for(j=0;j<n;j++)
{
for(k=0;k<m;k++) //这里分号错写成了逗号
d=d+u[r][k]i[k][r];
printf("%d",d);
}
d=0;
printf("\n");
}
}
C语言中乘号用“”表示。
同时按住Shift + 8可打出“”。
C语言中除号用“/”表示(shift键旁边,需英文状态下才能打出),求余用“%”表示(同时按住Shift + 5可打出)。
扩展资料
其他运算符
加法运算符 6级
“ + ”加法运算符;“ - ”减法运算符。
移位运算符 7级
<< 左移运算符;>> 右移运算符。
关系运算符 8级
<、<=、>、>=关系运算符。
相等运算符 9级
“ == ”等于运算符;“ != ”不等于运算符。
位与运算符 10级
“ & ”按位与运算符
位异或运算符 11级
“ ∧ ”按位异或运算符(Bitwise exclusive OR operator)。
位或运算符 12 级
“ | ”按位或运算符(Bitwise inclusive OR operator)。
逻辑与运算符 13级
“&&”逻辑与运算符。
逻辑或运算符 14 级
“ || ”逻辑或运算符。
三元条件运算符 15级
:条件运算符。
赋值运算符 16 级
=、 +=、 -=、 =、 /=、 %=、 &=、 ^=、 |=、 <<=、 >>=赋值运算符。
逗号运算符 17级
“,”逗号运算符。
[pre]C 语言中,逗号(,)也可以是运算符,称为逗号运算符(Comma Operator)。逗号运算符可以把两个以上(包含两个)的表达式连接成一个表达式,称为逗号表达式。其一般形式为:子表达式1, 子表达式2, , 子表达式n。例如:a + b, c = b, c++。
逗号运算符的优先级是所有运算符中级别最低的,通常配合 for 循环使用。逗号表达式最右边的子表达式的值即为逗号表达式的值。上例中,c++ 的值(c 自增之前的值)即为该表达式的值。
逗号运算符保证左边的子表达式运算结束后才进行右边的子表达式的运算。也就是说,逗号运算符是一个序列点,其左边所有副作用都结束后,才对其右边的子表达式进行运算。因此,上例中,c 得到 b 的值后,才进行自增运算。
参考资料来源:百度百科-C语言运算符
两数相乘的C语言编程:
#include <stdioh>
void main()
{
int a,b,c;
scanf("%a%b",&a,&b);//输入两个整数
c=ab; //两个数的相乘运算
printf("两数相乘的结果: %d\n",c);
}
//九九乘法表
public class lianxi3 {
public static void main(String[] args) {
for(int i=9;i>=1;i--){
for(int j=9;j<=i;j--){
Systemoutprint(j+""+i+"="+ji+"\t");
}
Systemoutprintln();
}
}
}
手打很累,求满意。。
代码
#include<stdioh>
int main()
{
int a,b;
scanf("%d %d",&a,&b);
printf("%d\t",a + b);
printf("%d\t",a - b);
printf("%d\t",a b);
printf("%d\t",a / b);
return 0;
}
运行截图分析C语言中的加减乘除和数学中的加减乘除一样,不同在于符号的表示问题,乘号需要用“”表示。除号需要用“/”表示。新手学习C语言,很容易把除号和取余好混淆,强调一下,取余号是“%”,百分号就是取余的意思。因此在输入两个整数以后,按照数学方法就可以直接输出结果,整数的输入用scanf()函数。
以上就是关于求c语言矩阵加法和乘法代码全部的内容,包括:求c语言矩阵加法和乘法代码、C语言:乘号怎样表示、C语言2个数相乘等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)