紫书上习题10-1;我的方法是先求出最后一行的数字,然后根据题目所说,由最后一行求出上面的所有数字;
#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;
int a[9][9];
int main()
{
int n; cin>>n;
while(n--){
for(int i=0;i<9;i+=2)
for(int j=0;j<=i;j+=2)
cin>>a[i][j];
for(int j=0,k=0;j<9,k<7;j+=2,k+=2){
a[8][j+1]=(a[6][k]-a[8][j]-a[8][j+2])/2;
}
for(int i=7;i>=0;i--)
for(int j=0;j<=i;j++)
a[i][j]=a[i+1][j]+a[i+1][j+1];
for(int i=0;i<9;i++)
for(int j=0;j<=i;j++){
if(j!=i)
cout<<a[i][j]<<" ";
else
cout<<a[i][j]<<endl;
}
}
return 0;
}