当前位置:首页 » 编程语言 » c语言4x4程序
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言4x4程序

发布时间: 2022-04-28 19:45:36

‘壹’ c语言编程 使用随机数产生一个4x4的矩阵,每个元素是10以内的随机数,求出该矩阵的四条边界元素

#include <stdio.h>
#include <stdlib.h>
int main()
{
int a[4][4];
int i,j;
int sum1=0,sum2=0;
printf("产生的4*4随机数组如下:\n");
for(i=0;i<4;i++)
{
for(j=0;j<4;j++)
{
a[i][j]=rand()%10;
printf("%d\t",a[i][j]);
}
printf("\n");
}
for(i=0;i<4;i++)
{
for(j=0;j<4;j++)
{
if(i==j)
sum1 += a[i][j];
if(i+j == 3)
sum2 += a[i][j];
}
}
printf("左上角到右下角的对角线之和为:%d\n",sum1);
printf("右上角到左下角的对角线之和为:%d\n",sum2);
return 0;
}

‘贰’ 请用程序实现:按 4x4 的矩阵格式输出数字 1~16.要求每个数字的宽度为 5,左对齐

按照题目要求编写的C语言程序如下

#include <stdio.h>

int main(){

int i;

for(i=1;i<=16;i++){

if(i%4==0){

printf("%-5d ",i);

}else{

printf("%-5d",i);

}

}

return 0;

}

‘叁’ C语言程序设计:使用随机数产生一个4X4的矩阵,每个元素是100以内的随机数,求出该矩阵两条对角线元素之和

帮你写了一个如下:

#include<stdio.h>
#include<stdlib.h>
intmain()
{
inta[4][4];
inti,j;
intsum1=0,sum2=0;
printf("产生的4*4随机数组如下: ");
for(i=0;i<4;i++)
{
for(j=0;j<4;j++)
{
a[i][j]=rand()%100;
printf("%d ",a[i][j]);
}
printf(" ");
}
for(i=0;i<4;i++)
{
for(j=0;j<4;j++)
{
if(i==j)
sum1+=a[i][j];
if(i+j==3)
sum2+=a[i][j];
}
}
printf("左上角到右下角的对角线之和为:%d ",sum1);
printf("右上角到左下角的对角线之和为:%d ",sum2);
return0;
}

运行结果如下:

‘肆’ C语言程序设计:使用随机数产生一个4X4的矩阵,矩阵中有8个双倍随机数。

程序设计简单的就可以给你

‘伍’ 用C语言:编程求4X4矩阵两条对角线元素值的和

#include<stdio.h>
voidmain()
{
inta[4][4],s1=0,s2=0;
inti,j;
for(i=0;i<4;i++)
for(j=0;j<4;j++)
scanf("%d",&a[i][j]);
for(i=0,j=0;i<4,j<4;i++,j++)
s1=s1+a[i][j];
for(i=0,j=3;i<4,j>=0;i++,j--)
s2=s2+a[i][j];
printf("主对角线:%d 副对角线:%d ",s1,s2);
}

‘陆’ c语言 4x4数组转换

#include<stdio.h>

int main()
{
int a[4][4],i,j; //其实直接逆序输出就Ok了,不需要b数组的,呵呵。
printf("input 16 numbers:");
for(i=0;i<4;i++)
for(j=0;j<4;j++)
scanf("%d",&a[i][j]);

for(i=0;i<4;i++)
{
for(j=0;j<4;j++)
printf("%d ",a[j][i]);
putchar('\n');
}
return 0;
}

‘柒’ 求一个单片机4X4矩阵键盘扫描程序,C语言的。

淘bao 旺铺: 广州华电 单片机学习板 单片机外围学习模块/传感器模块
//4*4键盘检测程序,按下键后相应的代码显示在数码管上
#include<reg51.h>
sbit beep=P2^3;
sbit la=P2^6;
sbit wela=P2^7;
unsigned char i=100;
unsigned char j,k,temp,key;
void delay(unsigned char i)
{
for(j=i;j>0;j--)
for(k=125;k>0;k--);
}
unsigned char code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,
0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
display(unsigned char num)
{
P0=table[num];
la=1;
la=0;
P0=0xc0;
wela=1;
wela=0;
}
void main()
{
la=0;
wela=0;
while(1)
{
P3=0xfe;
temp=P3;
temp=temp&0xf0;
if(temp!=0xf0)
{
delay(10);
if(temp!=0xf0)
{
temp=P3;
switch(temp)
{
case 0xee:
key=0;
break;
case 0xde:
key=1;
break;
case 0xbe:
key=2;
break;
case 0x7e:
key=3;
break;
}
while(temp!=0xf0)
{
temp=P3;
temp=temp&0xf0;
beep=0;
}
beep=1;
display(key);
P1=0xfe;
}
}
P3=0xfd;
temp=P3;
temp=temp&0xf0;
if(temp!=0xf0)
{
delay(10);
if(temp!=0xf0)
{
temp=P3;
switch(temp)
{
case 0xed:
key=4;
break;
case 0xdd:
key=5;
break;
case 0xbd:
key=6;
break;
case 0x7d:
key=7;
break;
}
while(temp!=0xf0)
{
temp=P3;
temp=temp&0xf0;
beep=0;
}
beep=1;
display(key);
}
}
P3=0xfb;
temp=P3;
temp=temp&0xf0;
if(temp!=0xf0)
{
delay(10);
if(temp!=0xf0)
{
temp=P3;
switch(temp)
{
case 0xeb:
key=8;
break;
case 0xdb:
key=9;
break;
case 0xbb:
key=10;
break;
case 0x7b:
key=11;
break;
}
while(temp!=0xf0)
{
temp=P3;
temp=temp&0xf0;
beep=0;
}
beep=1;
display(key);
}
}
P3=0xf7;
temp=P3;
temp=temp&0xf0;
if(temp!=0xf0)
{
delay(10);
if(temp!=0xf0)
{
temp=P3;
switch(temp)
{
case 0xe7:
key=12;
break;
case 0xd7:
key=13;
break;
case 0xb7:
key=14;
break;
case 0x77:
key=15;
break;
}
while(temp!=0xf0)
{
temp=P3;
temp=temp&0xf0;
beep=0;
}
beep=1;
display(key);
}
}
}
}

‘捌’ C语言编程求一个4x4数组左下三角 包括主对角线元素的和

1.

#include"stdio.h"

intmain()

{

inta[4][4]={0};

inti,j,sum=0;

printf("请输入4X4的数组元素:");

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

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

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

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

{

for(j=0;j<=i;j++)

sum+=a[i][j];

}

printf("该数组左下三角包括主对角线元素的和为%d ",sum);

}

结果:

2.

#include"stdio.h"

intmain()

{

doublea[3][4]={0},sum=0;

inti,j,count=0;

printf("请输入一个3X4的数组元素:");

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

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

{

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

sum+=a[i][j];

}

sum=sum/12;

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

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

if(a[i][j]>=sum)

count++;

printf("该数组中元素值大于等于元素平均值的个数为%d ",count);

}

‘玖’ C语言4X4矩阵相乘问题!

#include <stdio.h>

void main()

{

int a[4][4],b[4][4],c[4][4];

int i,j,k;int s[4][4]={0};

printf("请输入矩阵A: ");

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

{

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

{

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

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

}

}

printf(" ");

printf("请输入矩阵B: ");

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

{

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

{

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

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

}

}

printf("矩阵A: ");

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

{

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

{

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

if(j==3)

printf(" ");

}

}

printf(" ");

printf("矩阵B: ");

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

{

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

{

printf("%d ",b[i][j]);

if(j==3)

printf(" ");

}

}

printf(" ");

printf("矩阵C=A*B: ");

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

{

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

{

for(k=0;k<4;k++)

{

s[i][j]+=a[i][k]*b[k][j];

}

c[i][j]=s[i][j];

printf("%d ",c[i][j]);

if(j==3)

printf(" ");

}

}


}

‘拾’ 请帮助用c语言求解两个4X4的方程组(迭代法还是直接法):谢谢咯

#include<stdio.h>

#include<math.h>

#include<stdlib.h>

//本次设定精度要求为.00001。使用迭代法。

floatsum1(floata[4],floatb[4])//定义函数sum1,实现两个数组对应位置相乘再求和。

{

floatc=0;

inti;

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

c=c+a[i]*b[i];

return(c);

}

voidmain()

{

floata[4]={1.00,0.63,-0.83,0.87};

floatb[4]={-0.07,0.78,0.56,-0.50};

floatc[4]={0.14,-0.26,0.38,-0.354};

floatd[4]={-0.20,-0.76,-0.35,-0.36};

floatm[4]={-1,-0.07,0.14,0.2};//要用算法判别出来的期望结果。

floatw[4]={1,1,1,1};//随便选的初始解,一会用迭代法就不断修改这个数值了。

floatp=0.1,e,E=10;//p为w的调整系数,e用来求总误差,p任意定义的。

floatk[4];//用以存放迭代出的结果,可以轻松的和期望结果进行比较。

inti,l,count=0;//其中count是用来存放整体循环判断的次数。

while(E>0.00001)

{

E=0;

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

{

k[0]=sum1(a,w);

k[1]=sum1(b,w);

k[2]=sum1(c,w);

k[3]=sum1(d,w);

e=m[i]-k[i];

for(l=0;l<4;l++)

{

if(i==0){w[l]=w[l]+p*e*a[l];}

if(i==1){w[l]=w[l]+p*e*b[l];}

if(i==2){w[l]=w[l]+p*e*c[l];}

if(i==3){w[l]=w[l]+p*e*d[l];}

}

E=E+0.5*e*e;

}

count++;

}

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

{

printf("k[%d]=%f",i,k[i]);

}

printf("方程组满足条件的最终的迭代解为:[");

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

{

printf("%f",w[i]);

}

printf("]");

printf(" 最终循环迭代判断的次数是:%d",count);

}

/*你的电脑上的C要是不支持中文的话,你把中文全部该成英文就好。至于第二个方程组,你按照上面的把数组的值改下就出结果了,很简单,程序我已经测试过了完全可以执行,*/