注册 登录
编程论坛 C++教室

大侠,过来帮忙!

elf6530789 发布于 2010-04-06 22:44, 488 次点击
#include <iostream>                    //这是改好的
using namespace std;
int main()
{
    cout<<"请输入一个数"<<endl;
    int m;
    cin>>m;
    int x=0; int y=m-1;
    int count=0;
    int i,j;  int a[21][21];  int n=1;
    while (count<=m*m)
    {   for (i=x,j=x;j<=y;j++)
    { a[i][j]=n; cout<<a[i][j]; count++; n++; }
      for ( i=x+1,j=y;i<=y;i++)
     { a[i][j]=n; cout<<a[i][j]; count++; n++; }
      for  (i=y,j=y-1;j>=x;j--)
     { a[i][j]=n; cout<<a[i][j]; count++; n++; }
      for (j=x,i=y-1;i>=x+1;i--)
      { a[i][j]=n; cout<<a[i][j]; count++; n++; }
      x++; y--; }
    return 0;
}
3 回复
#2
elf65307892010-04-06 23:34
#include <iostream>  
#include<iomanip>
using namespace std;
int main()
{
    cout<<"请输入一个数"<<endl;
    int m;
    cin>>m;
    int x=0; int y=m-1;
    int count=0;
    int i,j;  int a[21][21]={0};  int n=1;
    while (count<=m*m)
    {   for (i=x,j=x;j<=y;j++)
    { a[i][j]=n;  count++; n++; }
      for ( i=x+1,j=y;i<=y;i++)
     { a[i][j]=n;  count++; n++; }
      for  (i=y,j=y-1;j>=x;j--)
     { a[i][j]=n; count++; n++; }
      for (j=x,i=y-1;i>=x+1;i--)
      { a[i][j]=n;  count++; n++; }
      x++; y--; }
     for(i=0;i++;i<=m)
     { for(j=0;j++;j<=m)
     cout<<setw(4)<<a[i][j];}

    return 0;
}
#3
yyblackyy2010-04-07 12:09
int i,j;  int a[21][21]={0};  int n=1;
    楼主是想问 int a[21][21]={0}; 为什么错吧?    因为楼主初始化错了 int a[21][21]={{0}},这样全部元素初始化为0
或者
#include <iostream>  
#include<iomanip>
using namespace std;
int a[21][21];         直接初始化为0
int main()
{
....
}   
#4
elf65307892010-04-07 22:10
算了,给你分了 :
1