新微赢技术网

标题: 第一次发帖请教 [打印本页]

作者: …═☆幻    时间: 2009-11-5 00:41
标题: 第一次发帖请教
小弟刚学c++,做练习碰到下面问题,麻烦大家帮我看看,最后输出没结果,大家帮我看看,感激不尽!!
编写一个打印正方形的程序,例如,读取一个数5,谈后输出如下
× × × × ×
×          ×
×          ×
×          ×
× × × × ×
下面是我的程序:
# include < iostream.h >

int main ()
{
    int m, n, i ;
   
    cout << "lenth is :" ;
    cin >> m ;

    if ( m==1 )
        cout << "* " << endl ;
    else
    {
        for ( n=1; n<=m; n++ )
        {    if ( n==1 && n==m )
            {
                for (n=1; n<=m; n++)
                    cout << "* " ;
                cout << '\n' ;
            }

            else
            {
                for( i=1; i<=m; i++)
                {
                    if ( n==1 && n==m )
                        cout << "* " ;
                    else cout << "  " ;
                    
                    cout << '\n' ;
                }

            }
        }
    }
}
作者: .嵿峜繌嗲﹖    时间: 2009-11-5 00:41
if ( n==1 && n==m )
应该是:if ( n==1 || n==m )吧。
作者: 听妈妈的话    时间: 2009-11-5 00:41
# include < iostream.h >

int main ()
{
    int m, n, i ;
   
    cout << "lenth is :" ;
    cin >> m ;

    if ( m==1 )
        cout << "* " << endl ;
    else
    {
        for ( n=1; n<=m; n++ )
        {    if ( n==1 || n==m )
            {
                for (i=1; i<=m; i++)
                    cout << "* " ;
                cout << '\n' ;
            }

            else
            {
                for( i=1; i<=m; i++)
                {
                    if ( i==1||i==m )
                        cout << "* " ;
                    else cout << "  " ;
                    
                  
                }
                cout << '\n' ;
            }
        }
    }
}
作者: 孤独の浪子    时间: 2009-11-5 00:41
楼主的逻辑(||与&&)搞错了,
第二个if中循环把n值改变了,以至else不执行,
还有最后的‘\n’应在for外。




欢迎光临 新微赢技术网 (http://bbs.weiying.cn/) Powered by Discuz! X3.2