问题
编写一个C程序,使用运行时编译来计算二维数组中所有元素的和与积。
解决方案
运行时编译或初始化也称为动态分配。在执行时(运行时)分配内存称为动态内存分配。
函数calloc()和malloc()支持动态内存分配。
函数calloc()和malloc()支持动态内存分配。 p>
在这个程序中,我们将在运行时计算二维数组所有元素的总和以及所有元素的乘积。
逻辑用于计算二维数组中所有元素的总和 -
printf("Sum array is : <p>");
for(i=0;i<2;i++){
for(j=0;j<3;j++){
sum[i][j]=A[i][j]+B[i][j];
printf("%dt",sum[i][j]);
}
printf("</p><p>");
}</p>
计算二维数组中所有元素乘积的逻辑 −
printf("Product array is : <p>");
for(i=0;i<2;i++){
for(j=0;j<3;j++){
product[i][j]=A[i][j]*B[i][j];
printf("%dt",product[i][j]);
}
printf("</p><p>");
}
}</p>
Example
实例演示
#include<stdio.h>
void main(){
//Declaring the array - run time//
int A[2][3],B[2][3],i,j,sum[i][j],product[i][j];
//Reading elements into the array's A and B using for loop//
printf("Enter elements into the array A: <p>");
for(i=0;i<2;i++){
for(j=0;j<3;j++){
printf("A[%d][%d] :",i,j);
scanf("%d",&A[i][j]);
}
printf("</p><p>");
}
for(i=0;i<2;i++){
for(j=0;j<3;j++){
printf("B[%d][%d] :",i,j);
scanf("%d",&B[i][j]);
}
printf("</p><p>");
}
//Calculating sum and printing output//
printf("Sum array is : </p><p>");
for(i=0;i<2;i++){
for(j=0;j<3;j++){
sum[i][j]=A[i][j]+B[i][j];
printf("%dt",sum[i][j]);
}
printf("</p><p>");
}
//Calculating product and printing output//
printf("Product array is : </p><p>");
for(i=0;i<2;i++){
for(j=0;j<3;j++){
product[i][j]=A[i][j]*B[i][j];
printf("%dt",product[i][j]);
}
printf("</p><p>");
}
}</p>
输出
Enter elements into the array A:
A[0][0] :A[0][1] :A[0][2] :
A[1][0] :A[1][1] :A[1][2] :
B[0][0] :B[0][1] :B[0][2] :
B[1][0] :B[1][1] :B[1][2] :
Sum array is :
000
000
Product array is :
000
000