标题:纯新手求教,这个问题做过之后到底错在哪里?
只看楼主
哀啼小新淫
Rank: 1
等 级:新手上路
帖 子:22
专家分:2
注 册:2013-1-12
结帖率:62.5%
已结贴  问题点数:10 回复次数:1 
纯新手求教,这个问题做过之后到底错在哪里?
一块N x N(1<=N<=10)正方形的黑白瓦片的图案要被转换成新的正方形图案。写一个程序来找出将原始图案按照以下列转换方法转换成新图案的最小方式:
1:转90度:图案按顺时针转90度。
2:转180度:图案按顺时针转180度。
3:转270度:图案按顺时针转270度。
4:反射:图案在水平方向翻转(以中央铅垂线为中心形成原图案的镜像)。
5:组合:图案在水平方向翻转,然后再按照1到3之间的一种再次转换。
6:不改变:原图案不改变。
7:无效转换:无法用以上方法得到新图案。
如果有多种可用的转换方法,请选择序号最小的那个。
只使用1--7中的一个步骤来完成这次转换。
程序代码:
#include<stdio.h>
int zhuan1();
int zhuan2();
int zhuan3();
int zhuan4();
int zhuan5();
int zhuan6();
int zhuan7();
int zhuan8();
int zhuan9();
int main()
{
    char in[11][11],out[11][11],bian[11][11];
    int N,i,j,a=0;
    scanf("%d",&N);
    for(i=1;i<=N;i++)
    {
        for(j=1;j<=N;j++)
        {
            scanf("%c",&in[i][j]);
        }
    }
    for(i=1;i<=N;i++)
    {
        for(j=1;j<=N;j++)
        {
            scanf("%c",&out[i][j]);
        }
    }
    zhuan1();
    for(i=1;i<=N;i++)
    {
        for(j=1;j<=N;j++)
        {
            if(bian[i][j]!=out[i][j])
                break;
            else
                zhuan2();
        }
    }
    for(i=1;i<=N;i++)
    {
        for(j=1;j<=N;j++)
        {
            if(bian[i][j]!=out[i][j])
                break;
            else
                zhuan3();
        }
    }
    for(i=1;i<=N;i++)
    {
        for(j=1;j<=N;j++)
        {
            if(bian[i][j]!=out[i][j])
                break;
            else
                zhuan4();
        }
    }
    for(i=1;i<=N;i++)
    {
        for(j=1;j<=N;j++)
        {
            if(bian[i][j]!=out[i][j])
                break;
            else
                zhuan5();
        }
    }
    for(i=1;i<=N;i++)
    {
        for(j=1;j<=N;j++)
        {
            if(bian[i][j]!=out[i][j])
                break;
            else
                zhuan6();
        }
    }
    for(i=1;i<=N;i++)
    {
        for(j=1;j<=N;j++)
        {
            if(bian[i][j]!=out[i][j])
                break;
            else
                zhuan7();
        }
    }
    for(i=1;i<=N;i++)
    {
        for(j=1;j<=N;j++)
        {
            if(bian[i][j]!=out[i][j])
                break;
            else
                zhuan8();
        }
    }
    for(i=1;i<=N;i++)
    {
        for(j=1;j<=N;j++)
        {
            if(bian[i][j]!=out[i][j])
                break;
            else
                zhuan9();
        }
    }
    printf("%d",a);
    return 0;
}
int zhuan1(int N,int i,int a,int j,char bian[11][11],char in[11][11])
{
    for(i=1;i<=N;i++)
        for(j=1;j<=N;j++)
            bian[j][N-i+1]=in[i][j];
    a=1;
    return a;
}
int zhuan2(int N,int i,int a,int j,char bian[11][11],char in[11][11])
{
    for(i=1;i<=N;i++)
        for(j=1;j<=N;j++)
            bian[N-i+1][N-i+1]=in[i][j];
    a=2;
    return a;
}
int zhuan3(int N,int i,int a,int j,char bian[11][11],char in[11][11])
{
    for(i=1;i<=N;i++)
        for(j=1;j<=N;j++)
            bian[N-j+1][i]=in[i][j];
    a=3;
    return a;
}
int zhuan4(int N,int i,int a,int j,char bian[11][11],char in[11][11])
{
    for(i=1;i<=N;i++)
        for(j=1;j<=N;j++)
            bian[j][i]=in[i][j];
    a=4;
    return a;
}
int zhuan5(int N,int i,int a,int j,char bian[11][11],char in[11][11])
{
    for(i=1;i<=N;i++)
        for(j=1;j<=N;j++)
            bian[N-i+1][N-i+1]=in[i][j];
    for(i=1;i<=N;i++)
        for(j=1;j<=N;j++)
            bian[j][N-i+1]=in[i][j];
    a=5;
    return a;
}
int zhuan6(int N,int i,int a,int j,char bian[11][11],char in[11][11])
{
    for(i=1;i<=N;i++)
        for(j=1;j<=N;j++)
            bian[N-i+1][N-i+1]=in[i][j];
    for(i=1;i<=N;i++)
        for(j=1;j<=N;j++)
            bian[N-i+1][N-i+1]=in[i][j];
    a=5;
    return a;
}
int zhuan7(int N,int i,int a,int j,char bian[11][11],char in[11][11])
{
    for(i=1;i<=N;i++)
        for(j=1;j<=N;j++)
            bian[N-i+1][N-i+1]=in[i][j];
    for(i=1;i<=N;i++)
        for(j=1;j<=N;j++)
            bian[N-j+1][i]=in[i][j];
    a=5;
    return a;
}
int zhuan8(int N,int i,int a,int j,char bian[11][11],char in[11][11])
{
    for(i=1;i<=N;i++)
        for(j=1;j<=N;j++)
            bian[i][j]=in[i][j];
    a=7;
    return a;
}
int zhuan9(int a)
{
    a=7;
    return a;
}

运行后不能完全把数据输入进去就退出了,求解释。
搜索更多相关主题的帖子: 顺时针 正方形 
2013-04-11 16:14
qunxingw
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:贵宾
威 望:24
帖 子:1676
专家分:7295
注 册:2011-6-30
得分:10 
慢慢来,循序渐进好

www.qunxingw.wang
2013-04-11 17:27



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-403846-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.824809 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved