一直格式错误 怎么改?

图片说明
#include"iostream"
#include"stdio.h"
#include"string.h"
using namespace std;

main()
{
int a[11][11],n,m;
while(cin>>n>>m)
{
int i=0,j=0,count=1;
memset(a,-1,sizeof(a));
a[0][0]=0;
while(count<=n*m-1)
{
while(a[i][j+1]==-1&&j+1 while(a[i+1][j]==-1&&i+1 while(a[i][j-1]==-1&&j-1>=0)a[i][--j]=count++%10;
while(a[i-1][j]==-1&&i-1>=0)a[--i][j]=count++%10;
}
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
cout<<a[i][j];
cout<<"\r\n";
}
cout<<"\r\n";
}
return 0;
}

        while(a[i][j+1]==-1&&j+1 while(a[i+1][j]==-1&&i+1 while(a[i][j-1]==-1&&j-1>=0)a[i][--j]=count++%10;
        while(a[i-1][j]==-1&&i-1>=0)a[--i][j]=count++%10;
这些都乱套了

你的代码就不仔细看了,我重新写了一个,问题解决请点下采纳。

// Q1039490.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"


#include <stdlib.h>
#include <cstring>
#include <iostream>
using namespace std;
int main()
{
    int n, m;
    int a[101][101];
    int sum;
    int i,j;
    while(cin >> n >> m)
    {
        sum = 0;
        int x = 0, y = 0;
        memset(a, 0, sizeof(a));
        a[x][y] = ++sum;
        while(sum < n * m)
        {   
            while(y + 1 < m && !a[x][y + 1])
            {
                a[x][++y] = ++sum;
            }
            while(x + 1 < n && !a[x + 1][y])
            {
                a[++x][y] = ++sum;
            }
            while(y - 1 >= 0 && !a[x][y - 1])
            {
                a[x][--y] = ++sum;
            }
            while(x - 1 >= 0 && !a[x - 1][y])
            {
                a[--x][y] = ++sum;
            }

        }
        for(i = 0; i < n; i++)
        {
            for(j = 0; j < m; j++)
            {
                cout << (a[i][j] - 1) % 10;
            }
            cout << endl;
        }
    }
}