![]() |
#2
yiyue1232020-05-31 09:23
|

#include <stdio.h>
int process(int a[])
{
float b[3],c[3][3]={1.1,1.2,1.3,1.4,1.5,1.6,1.7,1.8,1.9};
int i,j;
for (i=0;i<3;i++)
{
float sum=0;
for(j=0;j<3;j++)
{
sum=sum+c[i][j]*a[j];
}
b[i]=sum;
printf("%f\n",b[i]);
}
return b;
}
int main()
{
int a[3],i;
float *p;
for(i=0;i<3;i++)
{
scanf("%d",&a[i]);
}
p=process(a);
for(i=0;i<3;i++)
{
printf("%f ",*p++);
}
return 0;
}
int process(int a[])
{
float b[3],c[3][3]={1.1,1.2,1.3,1.4,1.5,1.6,1.7,1.8,1.9};
int i,j;
for (i=0;i<3;i++)
{
float sum=0;
for(j=0;j<3;j++)
{
sum=sum+c[i][j]*a[j];
}
b[i]=sum;
printf("%f\n",b[i]);
}
return b;
}
int main()
{
int a[3],i;
float *p;
for(i=0;i<3;i++)
{
scanf("%d",&a[i]);
}
p=process(a);
for(i=0;i<3;i++)
{
printf("%f ",*p++);
}
return 0;
}
此时打印出来是这样的结果
只有本站会员才能查看附件,请 登录
修改的代码主要是这一部分:

{
float c[3][3]={1.1,1.2,1.3,1.4,1.5,1.6,1.7,1.8,1.9};
int j=0,i=0;
float b[3];
for (i=0;i<3;i++)
{
float temp=0;
for(j=0;j<3;j++)
{
temp=temp+c[i][j]*a[j];
}
b[i]=temp;
printf("%f\n",b[i]);
}
for(i=0;i<3;i++)
{
a[i]=b[i];
}
return a;
}
float c[3][3]={1.1,1.2,1.3,1.4,1.5,1.6,1.7,1.8,1.9};
int j=0,i=0;
float b[3];
for (i=0;i<3;i++)
{
float temp=0;
for(j=0;j<3;j++)
{
temp=temp+c[i][j]*a[j];
}
b[i]=temp;
printf("%f\n",b[i]);
}
for(i=0;i<3;i++)
{
a[i]=b[i];
}
return a;
}
输出结果是这样的:
只有本站会员才能查看附件,请 登录
请问这是什么问题?希望前辈给予解答!谢谢