解题思路:
注意事项:
参考代码:
#include<stdio.h>
typedef struct{ //定义结构体,构造数据类型z,分别存储长和宽
int l;
int w;
}z;
int main()
{ z a[10]; //定义数组,a[0]数据直接赋值
int m=1189;
int n=841;
a[0].l=1189;a[0].w=841;
for(i=1;i<=9;i++) //对1到9的数组元素赋值
{
if(m>n) //始终保持m为m,n中的最大值,以便对齐进行除以2处理
{
a[i].l=m/2;
a[i].w=n;
if(a[i].l<a[i].w) //长和宽的数值大小不符则需对调
{
int t;
t=a[i].l;
a[i].l=a[i].w;
a[i].w=t;
}
m/=2; //每次完成对折,长度m除以2
}
else // m<n会将m,n对换;
{
int t;
t=n;
n=m;
m=t;
i=i-1; //i-1,让还未被赋值的i号元素经过i++后,保持数字大小不变
}
}
char s[3]; //字符数组来接受输入的数据
scanf("%s",s);
int j=s[1]-'0'; //将字符常量转为整型的数字
printf("%d\n%d",a[j].l,a[j].w);
return 0;
}
0.0分
1 人评分