经典问题2---输入问题

#include <stdio.h>
#include<iostream>

using namespace std;
int main(){
  int n;
  char a,b,c;
  char outpu[82][82];
  bool flag=true;

  while(scanf("%d",&n)!=EOF){
    scanf("%c %c",&a,&b);//输入第一个字符时必须紧挨第一个整数输入,如果输入了空格将读入空格为字符a,cin输入也是如此
    if(flag==true){
        flag=false;
    }
    else
    cout<<endl;

    int x,y;

    for(int i=1,j=1;i<=n;i+=2,j++){
        x=n/2+1;y=x;
//        cout<<"j="<<j<<endl;
        x-=j-1;y=x;//×óÉϽÇ×ø±ê
//        cout<<x<<y<<endl;
        c=(j%2==1?a:b);
//        cout<<c<<endl;
        for(int k=1;k<=i;k++){
            outpu[x+k-1][y]=c;//Éϱß
            outpu[x][y+k-1]=c;//×ó±ß
            outpu[x+k-1][y+i-1]=c;//챧
            outpu[x+i-1][y+k-1]=c;

        }
    }
    if(n!=1){
    outpu[1][1]=' ';
    outpu[1][n]=' ';
    outpu[n][1]=' ';
    outpu[n][n]=' ';
    }
    for(int i=1;i<=n;i++){
        for(int j=1;j<=n;j++){
            printf("%c",outpu[i][j]);
        }
       cout<<endl;
    }


  }



return 0;
}

猜你喜欢

转载自blog.csdn.net/chunjiekid/article/details/79208209