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