本文目录一览:
- 1、编写程序二并运行:求一个4×4矩阵两条对角线上所有元素之和。
- 2、用C语言:编程求4X4矩阵两条对角线元素值的和
- 3、对4乘4矩阵,求下三角元素之和,用循环语句————C语言
- 4、C语言,求一个4*4的矩阵中对角线上的元素之和
- 5、C语言4乘4矩阵所有元素之和
编写程序二并运行:求一个4×4矩阵两条对角线上所有元素之和。
提供的代码主要以以下两点错误:
1、如果要采用赋值的方式去初始化4*4的矩阵,需要在两层for循环中写入scanf语句,而不是单独一行写“scanf("%d",a[i][j]);”这样只会录入一个元素。
2、if(i=j)错误,应该为“==”。在c语言的编写中最好使用{}来调理层次关系。
修改后的代码如下:
#includestdio.h
int main()
{
int s,a[4][4],i=0,j=0;
for(i=0;i4;i++){
for(j=0;j4;j++){
scanf("%d",a[i][j]);
}
}
for(i=0;i4;i++){
for(j=0;j4;j++){
if(i==j)
s=s+a[i][j];
if(i+j==3)
s=s+a[i][j];
}
}
printf("%d\n",s);
return 0;
}
运行结果如下图所示
拓展资料
C语言循环控制语句的使用与对比
同一个问题,往往既可以用 while语句解决,也可以用 do-while或者for语句来解决,但在实际应用中,应根据具体情况来选用不同的循环语句。选用的一般原则是:
(1) 如果循环次数在执行循环体之前就已确定,一般用 for语句。如果循环次数是由循环体的执行情况确定的,一般用 while语句或者do- while语句。
(2) 当循环体至少执行一次时,用 do-while语句,反之,如果循环体可能一次也不执行,则选用while语句。
C++/C循环语句中,for语句使用频率最高,while语句其次,do语句很少用。
三种循环语句for、while、do-while可以互相嵌套自由组合。但要注意的是,各循环必须完整,相互之间绝不允许交叉。
参考资料来源:百度百科-C语言循环控制语句
用C语言:编程求4X4矩阵两条对角线元素值的和
#include stdio.h
void main()
{
int a[4][4],s1=0,s2=0;
int i,j;
for (i=0;i4;i++)
for (j=0;j4;j++)
scanf("%d",a[i][j]);
for (i=0,j=0;i4,j4;i++,j++)
s1=s1+a[i][j];
for (i=0,j=3;i4,j=0;i++,j--)
s2=s2+a[i][j];
printf("主对角线:%d \n副对角线:%d\n",s1,s2);
}
对4乘4矩阵,求下三角元素之和,用循环语句————C语言
楼主你好!
这是我根据你的意思写的,如果有不正确之处,请指正!谢谢!
#includestdio.h
int main(){
int a[4][4],i,j,sum=0;
printf("输入矩阵的元素,空格隔开:\n");
for(i=0;i4;i++)
for(j=0;j4;j++)
scanf("%d",a[i][j]);
for(j=0;j4;j++)
for(i=3;i-j=0;i--){
sum+=a[i][j];
}
printf("\n下三角元素之和:%d\n",sum);
return 0;
}
这是可以运行的,我在我的机器已经实验,已经跑了!
希望我的回答对你有帮助!
C语言,求一个4*4的矩阵中对角线上的元素之和
由于你是4*4的,所以不用考虑中间重复的那个数,核心算法如下:
int
sum
=
0,
n
=
4for(int
i
=
0;
i
n;
i++)
{
//这个计算正对角线
sum
+= a[i][i];
//这个计算反对角线,去掉中间
sum
+=
a[i][n-i];
}
printf("%d",
sum);
C语言4乘4矩阵所有元素之和
#includestdio.h
int main()
{
int a[4][4]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16},i,j,s=0;
for(i=0;i4;i++)
for(j=0;j4;j++)s+=a[i][j];
printf("%d",s);
return 0;
}