如何让C语言中3*3阶二维数组左下角的值变为0,且输出的还是3*3阶。

   更新日期:2024.06.01

下面的程序是没有包含主对角线上的元素清0的。如果需要将主对角线上的元素也清0的话,只要将第4个for语句修改为for(j=0;j<=i;j++)即可。
#include
int main()
{int i,j,a[3][3]={1,2,3,4,5,6,7,8,9};
printf("原来的矩阵:
");
for(i=0;i<3;i++)
{for(j=0;j<3;j++)
printf("%3d",a[i][j]);
printf("
");
}
for(i=1;i<3;i++)
for(j=0;j<i;j++)
a[i][j]=0;
printf("更改后的矩阵:
");
for(i=0;i<3;i++)
{for(j=0;j<3;j++)
printf("%3d",a[i][j]);
printf("
");
}
return 0;
}



  • 19374131869 :如何让C语言中3*3阶二维数组左下角的值变为0,且输出的还是3*3阶。
    璩平看1507 :答:如果需要将主对角线上的元素也清0的话,只要将第4个for语句修改为for(j=0;j<=i;j++)即可。#include int main(){int i,j,a[3][3]={1,2,3,4,5,6,7,8,9}; printf("原来的矩阵:\n"); for(i=0;i<3;i++) {for(j=0;j<3;j++) printf("%3d",a[i][j]); ...
  • 19374131869 :C语言中如何将一个3×3的二维数组,行列互换,并赋值到另一个二维...
    璩平看1507 :答:int main(void){ int array[3][3] = {1,2,3,4,5,6,7,8,9};int array_1[3][3];printf("原始数组:\n");for(int i = 0;i<3;i++){ for(int j = 0;j<3;j++){ array_1[j][i] = array[i][j];printf("%d\t",array[i][j]);} printf("\n");} printf("转...
  • 19374131869 :c语言中怎样输入一个3*3的二维数组存储到文件中在文件中按顺序输出二...
    璩平看1507 :答:include<stdio.h>#include #define N 3 //N定义数组的大小void ShellSort(int a[],int n)//直接插入排序:对含有n个整数的数组a[]进行从小到大排序{ int i,j,t; for(i=1;i<n;i++) for(j=i-1;j>=0&&a[j]>a[j+1];j--) { t=a[j]; a[j]=a[j+1]...
  • 19374131869 :C语言,如何在子函数中写一个3*3二维数组,给主函数调用!!
    璩平看1507 :答:方法不止一种,我这里用指针的指针实现二维数组。二维数组除了行列,本身地址也是连续的,从第一行第一列的元素地址++,可以取出所有元素。所以我这里先申请了完整的连续地址。include<stdio.h>#include<malloc.h>int ** sr(void){ int i,j; int *memory=(int *)malloc(sizeof(int)*9);...
  • 19374131869 :c语言输入一个3行3列的二维整型数组表3*3阶矩阵,计算第一列元素之和...
    璩平看1507 :答:include <stdio.h>void main(){int i,j,a[3][3],s=0;for(i=0;i<3;i++)for(j=0;j<3;j++){scanf("%d",&a[i][j]);if(j==0) s+=a[i][j];}printf("%d",s);}
  • 19374131869 :如何用C语言程序编写“利用函数将给定的3*3二维数组转置”
    璩平看1507 :答:usingnamespacestd;void zhuang zhi(int a[3][3]){int m,n,i;for(m=0;m<2;m++)for(i=0;i<3;i++){if(m!=1||i!=0){n=a[i][m];a[i][m]=a[m][i];a[m][i]=n;} } } int main(){ inta[3][3];inti,j...
  • 19374131869 :C语言3*3二维数组行和列互换
    璩平看1507 :答:首先,你的程序逻辑有问题,在交换的时候,所有以对角线为中心的对称元素交换了两次,相当于没有交换;所以如果换成a[i][j]输出的话,结果与没有交换前的一样。即使,你把中间交换元素的那部分代码删去,最后用a[j][i],输出的结果感觉是交换了,其实在内存中(数组中)其实并没有交换。我帮你...
  • 19374131869 :求C语言程序:编写一个函数,使给定的一个二维数组(3*3)转置。感激...
    璩平看1507 :答:int main(){int i,j,t,a[3][3]={{1,2,3},{4,5,6},{7,8,9}};printf("原来的数组:\n");for(i=0;i<3;i++){ for(j=0;j<3;j++)printf("%d ",a[i][j]);printf("\n");} for(i=0;i<2;i++)for(j=i+1;j<3;j++){t=a[i][j];a[i][j]=a[j][i]...
  • 19374131869 :C语言 函数调用写一个函数,使给定的一个3*3的二维整型数组转置,即行 ...
    璩平看1507 :答:方法一、include<stdio.h> void main(){ void switchArray(int[3][3]);int array[][3]={{1,2,3},{4,5,6},{7,8,9}};int i,j;switchArray(array);return 0;} void switchArray(int array[][3]){ int newArray[3][3];int i,j;for(i=0;i<3;i++){ for(j=0;j<3;j...
  • 19374131869 :用C语言编写一个3x3的二维数组,求对角线的和
    璩平看1507 :答:这个很简单啊 3x3的二维数组 你自己定义为 int A[x][y]; (你这题x=3,y=3;)对角线你自己看下 是不是有主对角线和副的? 主的好求 在循环里 只有当x = y的时候就把他们的值相加 最后就是主对角线的值 副对角线的话你看下 第一个是不是 x=1 y=2 第二个x=2 y=2 第三...
  • 相关链接

    欢迎反馈与建议,请联系电邮
    2024 © 视觉网