❶ c语言 编写一个程序完成一个3×4阶矩阵和一个4×3阶矩阵的相乘,并打印出结果。 大神求解
#include"stdio.h"
intmain(void){
intA[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}},i,j,k,x;
intB[4][3]={{11,22,33},{44,55,66},{77,88,99},{100,110,120}};
for(i=0;i<3;i++){
for(j=0;j<3;j++){
for(x=k=0;k<4;x+=A[i][k]*B[k++][j]);
printf("%6d",x);
}
printf(" ");
}
return0;
}
❷ 3^4在c语言里表示什么
3^4在c语言里表示3的4次方。
在电脑上输入数学公式时,因为不便于输入乘方,符号“^”也经常被用来表示次方。例如3的4次方通常被表示为3^4。
算术运算符
用于各类数值运算。包括加(+)、减(-)、乘(*)、除(/)、求余(或称模运算,%)、自增(++)、自减(--)共七种。
关系运算符
用于比较运算。包括大于(>)、小于(<)、等于(==)、 大于等于(>=)、小于等于(<=)和不等于(!=)六种。
逻辑运算符
用于逻辑运算。包括与(&&)、或(||)、非(!)三种。
❸ 乘法在c语言中怎么表示
估计你的意思是说C语言编译成汇编语言之后乘法怎么表示吧,因为在汇编中加法确实是用ADD表示的,下面给你运算符表:
ADD 加法.
ADC 带进位加法.
INC 加 1.
AAA 加法的ASCII码调整.
DAA 加法的十进制调整.
SUB 减法.
SBB 带借位减法.
DEC 减 1.
NEC 求反(以 0 减之).
CMP 比较.(两操作数作减法,仅修改标志位,不回送结果).
AAS 减法的ASCII码调整.
DAS 减法的十进制调整.
MUL 无符号乘法.
IMUL 整数乘法.
以上两条,结果回送AH和AL(字节运算),或DX和AX(字运算),
AAM 乘法的ASCII码调整.
DIV 无符号除法.
IDIV 整数除法.
以上两条,结果回送:
商回送AL,余数回送AH, (字节运算);
或 商回送AX,余数回送DX, (字运算).
AAD 除法的ASCII码调整.
CBW 字节转换为字. (把AL中字节的符号扩展到AH中去)
CWD 字转换为双字. (把AX中的字的符号扩展到DX中去)
CWDE 字转换为双字. (把AX中的字符号扩展到EAX中去)
CDQ 双字扩展. (把EAX中的字的符号扩展到EDX中去)
❹ 请大家帮忙用C语言编个程序,“有一个三乘四的矩阵,求编程求出其中值最大和最小的元素,输出其值及其所在
# include <stdio.h>
main()
{ int max,maxi,maxj,min,mini,minj,a[3][4],i,j;
printf("input numbers:\n');
for(i=0,i<3;i++)
for(j=0;j<4;j++)
scanf("%d",&a[i][j]);
max=min=a[0][0];
for(i=0,i<3;i++)
for(j=0;j<4;j++)
{ if(a[i][j]>max)
{ max=a[i][j];
maxi=i+1;
maxj=j+1;
}
if(a[i][j]<min)
{ min=a[i][j];
mini=i+1;
minj=j+1;
}
}
printf("最大值为%d,在第%d行,第%d列;\n最小值为%d,在第%d行,第%d列。\n",max,maxi,maxj,min,mini,minj);
}
满意请采纳!
❺ 用C语言怎么乘啊
直接使用:19*23*149即可。
在c语言中,加减乘除运算符号分别为:+,-,*,/。%表示取余符号,例如a%b即求a除以b后的余数,c语言中括号运算只能使用()。
例如:
#include<stdio.h>
intmain(){
intn;
n=19*23*149;
printf("%d ",n);
return0;
}
/*
输出:
65113
*/
❻ C语言中怎么实现输入二维数组,打印出一个3*4矩阵
//这个问题居然没人答
float mat[3][4]={0};
int x=0;
int y=0;
for(;y<3;y++){
for(;x<4;x++){
printf("input row:%d col:%d ---->\n", y,x);
scanf("%f", mat[x][y]);
}
}
for(;y<3;y++){
for(;x<4;x++){
printf("%f ", mat[x][y]);
}
printf("\n");
}
❼ c语言1×2×3×4×5怎么编
//正确调试,可以运行出正确结果,不信的话,自己试下就知道我有没有骗人了!
#include "stdio.h"
void main()
{
int i=1,j=1;
for (i=1;i<=5;i++)
{
j*=i;
}
printf("%d\n",j);
}
❽ 用C语言怎么写乘法表
哪有什么表格符,就是 | + -三个符号的应用
定义两个循环嵌套
内循环分别控制打印制表符 和 乘法表
外循环控制换行数
奇数行打印制表符,偶数打印乘法表
main() {
int i,j,k;
for(i=1;i<20;i++) {
if(i&1) {//i为奇数
for(;k<(i+1)/2;k++)
printf("+-------");
printf("+\n");//打印完换行,补充前面未打印的+
}
else {//i为偶数
for(j=1;j<10;j++) {
printf("%dX%d=%2d|",i/2,j,i/2*j);
}
printf("\n");//打印完换行
}
}
}
❾ 1乘以2乘以3乘以4。。。乘到100, 用C语言编辑出来
你这个属于大数的乘法了,对于已经给定的类型已经满足不了精度了
所以只能用
数组
来存储,然后进行运算
举个例子吧,现在已经乘到10了
1*2*3*4*5*6*7*8*9*10已经得到结果了3628800
现在计算3628800*11(算法是小学的那种竖式计算)
3628800
11
---------------------------------------------
3628800
3628800
然后a[n]b[n]c[n]
分别表示三个数组(c[n]装结果)(如果你学过
数据结构
的话就用栈)
分别知道a.length和b.length
假设数组a[i]为(i=1,2,a.length):0088263
b[i]为(i=1,2,a.length):0088263
那么就是:
c里面的元素都先为0;
c[1]=a[1];
for(j=2;j<b.length;j++)
{
c[j]=c[j]+a[j]+b[j-1];
if(c[j]>=10)
{
c[j]=c[j]%10;
c[j+1]=c[j]/10;
}
}
c[j]=b[j];
差不多就是这个
思路
。。。
我也没好好写,判断那些的写的时候自己考虑周全点就好了
存储方式可以自己去优化,我这也是给你说个思路,我的这是不合理的!
加油!!!大概的思路就是这样,提高精度
直接乘的话你会越界的
❿ C语言中 怎么样进行三位数的四则运算
/* 任意加减乘除表达式,如1+2*3 */
#include <stdio.h>
#include <malloc.h>
#define MaxSize 50
void trans(char *exp,char *postexp)
{
struct
{
char data[MaxSize];
int top;
} op;
int i=0;
op.top=-1;
while(*exp!='\0')
{
switch(*exp)
{
case '(':
op.top++;op.data[op.top]=*exp;
exp++;break;
case ')':
while(op.data[op.top]!='(')
{
postexp[i++]=op.data[op.top];
op.top--;
}
op.top--;exp++;break;
case '+':
case '-':
while(op.top!=-1&&op.data[op.top]!='(')
{
postexp[i++]=op.data[op.top];
op.top--;
}
op.top++;op.data[op.top]=*exp;exp++;break;
case '*':
case '/':
while(op.data[op.top]=='*'||op.data[op.top]=='/')
{
postexp[i++]=op.data[op.top];
op.top--;
}
op.top++;op.data[op.top]=*exp;exp++;break;
case ' ':break;
default:
while(*exp>='0'&&*exp<='9')
{
postexp[i++]=*exp;
exp++;
}
postexp[i++]='#';
}
}
while(op.top!=-1)
{
postexp[i++]=op.data[op.top];
op.top--;
}
postexp[i]='\0';
}
float compvalue(char *postexp)
{
struct
{
float data[MaxSize];
int top;
} st;
float a,b,c,d;
st.top=-1;
while(*postexp!='\0')
{
switch(*postexp)
{
case '+':
a=st.data[st.top];
st.top--;
b=st.data[st.top];
st.top--;
c=b+a;
st.top++;
st.data[st.top]=c;
break;
case '-':
a=st.data[st.top];
st.top--;
b=st.data[st.top];
st.top--;
c=b-a;
st.top++;
st.data[st.top]=c;
break;
case '*':
a=st.data[st.top];
st.top--;
b=st.data[st.top];
st.top--;
c=b*a;
st.top++;
st.data[st.top]=c;
break;
case '/':
a=st.data[st.top];
st.top--;
b=st.data[st.top];
st.top--;
if(a!=0)
{
c=b/a;
st.top++;
st.data[st.top]=c;
}
else
{
printf("\n\tError of clear zero!\n");
}
break;
default:
d=0;
while(*postexp>='0'&&*postexp<='9')
{
d=10*d+*postexp-'0';
postexp++;
}
st.top++;
st.data[st.top]=d;
break;
}
postexp++;
}
return st.data[st.top];
}
int main()
{
char exp[MaxSize],postexp[MaxSize];
printf("Please input expression: ");
scanf("%s",&exp);
trans(exp,postexp);
printf("%s=%g\n",exp,compvalue(postexp));
return 0;
}