满意答案
牛叉级别
推荐于 .04.30
采纳率:41%等级:9
已帮助:114人
#include
struct HaiZi{char zh; char zl;};
typedef union {HaiZi Wc;short int Si;} MyData;
char Jys[] = "床前明月光\n\0凝是地上霜\n\0举头望明月\n\0低头思故乡\n";
MyData JingYeiShiH[4][6];
MyData JingYeiShiS[5][5];
void main()
{
int i,j;
memcpy(JingYeiShiH, Jys,sizeof(JingYeiShiH));
for(j=0;j<4;j++)
{
for(i=0; i<5; i++)
JingYeiShiS[i][3-j].Si = JingYeiShiH[j][i].Si;
JingYeiShiS[j][4].Si = JingYeiShiH[j][5].Si;
}
JingYeiShiS[4][4].Si = JingYeiShiH[0][5].Si; //最后差了一个换行符,copy啦
printf("横向\t 静 夜 诗\n");
for(i=0;i<4;i++)
printf("\t%s",(char*)JingYeiShiH[i]);
printf("\n竖向\t 诗夜静\n");
for(i=0; i<5; i++)
printf("\t%s",(char*)JingYeiShiS[i]);
}
// 运行结果:
横向 静 夜 诗
床前明月光
凝是地上霜
举头望明月
低头思故乡
竖向 诗夜静
低举凝床
头头是前
思望地明
故明上月
乡月霜光
10分享举报