c语言二级模拟题目

来源:百度知道 编辑:UC知道 时间:2024/09/25 23:18:17
a行各个数除以这一行的a[0][0],第二行除以a[1][1],第3行除以a[2][2],结果写到design.dat上,简单点说就是除以它的对角线。
#include <stdio.h>
void main()
{ float a[3][3]={{1.3,2.7,3.6},{2,3,4.7},{3,4,1.27}};
FILE *p;
/*
*
*
* 考生在这里添加代码
*
*
*/
for(int i=0;i<3;i++) {
for(int j=0;j<3;j++) fprintf(p,"%10.6f",a[i][j]);
fprintf(p,"\n");
}
fclose(p);
}

for(int i=0;i<3;i++)
{
float k=a[i][i];
for(int j=0;j<3;j++)a[i][j]/=k;
}

int i, j;

if ((p = fopen("design.dat", "w")) == NULL)
return;

for (i = 0; i < 3; i++)
{
for (j = 0; j < 3; j++)
{
if (i == j)
continue;
else
a[i][j] /= a[i][i];
}

for (i = 0; i < 3, i+)
a[i][i] = 1.0f;
}

a行是每行吧,我这么理解的,

FILE *p;

if( (p = fopen("design.dat", "w")) == NILL )

return;

for(int nLine = 0; nLine < 3; nLine ++)
for(int nRow = 0; nRow < 3; nRow ++)
{
if(0 == nLine)
a[i][j] = a[i][j]/a[0][0];

if(1 == nLine)
a[i][j] = a[i][j]/a[1][1];

if(2 == nLine)
a[i][j] = a[i][j]/a[2][2];