为什么什么也不输出?
#include<bits/stdc++.h>
using namespace std;
struct wd{
int zq;
string yzdw;
int zh;
string wzdw;
}a[1000];
int main(){
int n;
cin>>n;
for(int i=1;i<=n;i++){
scanf("%d %s = ? %s",&a[i].zq,&a[i].yzdw,&a[i].wzdw);
if(a[i].yzdw=="km"&&a[i].wzdw=="m"){
a[i].zh=a[i].zq*1000;
}else if(a[i].yzdw=="km"&&a[i].wzdw=="mm"){
a[i].zh=a[i].zq*1000000;
}else if(a[i].yzdw=="m"&&a[i].wzdw=="mm"){
a[i].zh=a[i].zq*1000;
}else if(a[i].yzdw=="kg"&&a[i].wzdw=="g"){
a[i].zh=a[i].zq*1000;
}else if(a[i].yzdw=="kg"&&a[i].wzdw=="mg"){
a[i].zh=a[i].zq*1000000;
}else if(a[i].yzdw=="g"&&a[i].wzdw=="mg"){
a[i].zh=a[i].zq*1000;
}
}
for(int i=1;i<=n;i++){
printf("%d %s = %d %s",a[i].zq,&a[i].yzdw,a[i].zh,&a[i].wzdw);
}
return 0;
}