/********************************************************************************
给一个由英文大写字母组成的字符串,串长为n*n(0n11),请将这个按Z字形排列输出这个字符方阵.
ABF
CEG
DHI
输入
每行一个字符串.
输出
输出对应矩阵,每个矩阵之后有一个空行.?
Sample?Input
ABCDEFGHI
AAAABBBBCCCCDDDD
Sample?Output
AABB
ABBD
ACCD
CCDD
********************************************************************************/
#includestdio.h
#includestring.h
#define?N?11
int?i,j;
int?k;
int?ln;
int?n;
char?s[N*N];
char?a[N][N];
void?go_right(){
j++;
}
void?go_left(){
j--;
void?go_down(){
i++;
void?go_up(){
i--;
};
void?left_down(){
go_left();
go_down();
void?right_up(){
go_right();
go_up();
void?go(){
while(1){
if(j+1?n){
go_right();a[i][j]?=?s[k];k++;//右移?
if(k?==?ln?+1)?return;
else{
go_down();?a[i][j]?=?s[k];k++;
while(1){//左下移动?
left_down();
if(j?=?0?i?n)?{
a[i][j]=s[k];?k++;
else?break;
j++;i--;//还原一步??
if(i+1?n){?
go_down();a[i][j]?=?s[k];k++;//向下?
go_right();a[i][j]?=?s[k];k++;//右移
while(1){//右上移动?
right_up();
if(i=0?jn){
else?break;?
i++;j--;//还原一步?
void?print(){
i=j=0;
for(i=0;in;i++){
for(j=0;jn;j++)
printf("%c",a[i][j]);
printf("\n");
void?Z(char?s[]){
ln?=?strlen(s);
n?=?(int)sqrt(ln);
k=0;
a[i][j]?=?s[k];k++;
go();
print();
return;
int?main(){
while(scanf("%s",s)?!=?EOF){
Z(s);
return?0;
以前写的,非常类似.希望能帮助到你.
低头下心?
【拼音】: dī tóu xià xīn
【解释】: 下心:屈服于人.形容屈服顺从.
【出处】: 郑振铎<<风波>>:"他连忙低头下心的劝道:'不要着急,不要着急,我说着玩玩的!房里冷,快来睡!'"
【拼音代码】: dtxx
【近义词】: 低头俯心、低首下心
【用法】: 作谓语、定语、状语;指屈服
【英文】: bow one's head in humility
画出任意一条直线与圆相割(割出大的那边弧段叫优弧,小的那边弧段叫劣弧),从圆心向直线作一条垂线并延长到圆形边上(即延长到劣弧上).此时劣弧与直线之间的那段垂线就是弓高.—劣弧的弓高.
有图吗?你的问题太笼统了,画个弓形很简单啊,里面还有什么线,可以上传一个图来看看.幸许能帮你~~~~