📅  最后修改于: 2023-12-03 15:10:15.233000             🧑  作者: Mango
UGC-NET计算机应用测试是印度大学委员会为担任讲师和研究员而设置的国家级测试。具有MCA,M.Tech或M.Sc计算机应用的候选人可以参加此测试。UGC NET CS 2016 年 7 月 – III (问题 19) 考试涵盖主题包括数据结构,操作系统和计算机网络等方面。
在下面的C程序段中,能够返回与数组a[ ][ ]的乘法结果等效的代码是:
for(i=0;i<3;i++)
for(j=0;j<3;j++)
for(k=0;k<3;k++)
b[i][j]=b[i][j]+a[i][k]*a[k][j];
A.
for(i=0;i<3;i++)
for(j=0;j<3;j++)
{
sum=0;
for(k=0;k<3;k++)
sum=sum+a[i][k]*a[k][j];
b[i][j]=sum;
}
B.
for(j=0;j<3;j++)
for(i=0;i<3;i++)
{
sum=0;
for(k=0;k<3;k++)
sum=sum+a[i][k]*a[k][j];
b[i][j]=sum;
}
C.
for(i=0;i<3;i++)
for(j=0;j<3;j++)
b[i][j]=0;
for(i=0;i<3;i++)
for(j=0;j<3;j++)
for(k=0;k<3;k++)
b[i][j]=b[i][j]+a[i][k]*a[k][j];
D.
for(i=0;i<3;i++)
for(j=0;j<3;j++)
b[i][j]=a[j][i];
以上题目试图考察一个熟练使用数组,矩阵,循环结构等基本的编程能力,同时还要考虑代码的效率和正确性。
在原有代码中,对于每个 $b[i][j]$ 都访问了 a 数组 3次,效率较低。原有的代码片段可以使用一个内嵌的循环完成同样的任务。具体来说,我们需要一个变量 sum
来存储内积的结果,并在内层循环结束后将其存储在正确的元素中。
答案为 A.
Markdown代码块:
### 解决方案
以上题目试图考察一个熟练使用数组,矩阵,循环结构等基本的编程能力,同时还要考虑代码的效率和正确性。
在原有代码中,对于每个 $b[i][j]$ 都访问了 a 数组 3次,效率较低。原有的代码片段可以使用一个内嵌的循环完成同样的任务。具体来说,我们需要一个变量 `sum` 来存储内积的结果,并在内层循环结束后将其存储在正确的元素中。
答案为 A.