XIANSIMAO 发表于 2019-1-2 19:48:48

C语言实训题,求助大神

从键盘输入一个奇数n,输出n*n方阵(宫格)

刘邦 发表于 2019-1-2 21:37:27

#include<stdio.h>
#include<windows.h>
#include<stdlib.h>
HANDLE hOut;
void printfj(int);
int color(int);
void printfj(int a)
{
        int i,j;
        color(6);
        for(i=0;i<=a;i++)
        {
                for(j=0;j<=a;j++)
                {
                        printf("※");
                }
                printf("\n");
        }
}
int color(int c)
{
        SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), c);
        return 0;
}
int main(void)
{
        int a;
        color(14);
        printf("请输入一个奇数:");
        scanf("%d",&a);
        if(a%2==0)
        {
                printf("输入错误输入的是一个偶数!!\n");
        }
        else
        {
                printfj(a);
        }
        while(1);
        return 0;
}

行客 发表于 2019-1-2 21:39:06

看看这个满足你的要求不:

#include “stdio.h”
#include “stdlib.h”
#include “math.h”
int main()
{   
    int a, n, i, j, m;
    scanf(“%d”, &n);;
    m=n/2;
    for(i=0; i<n; i++)
    for(j=0; j<n; j++)
    {
      if(abs(i-m)>=abs(j-m))
            a =abs(i-m)+1;
      else
            a =abs(j-m)+1;
    }
    for(i=0; i<n; i++)
    {
      for(j=0; j<n; j++)
      printf(“%d ”, a);
      printf(“\n”);
    }
}

XIANSIMAO 发表于 2019-1-3 08:37:34

行客 发表于 2019-1-2 21:39
看看这个满足你的要求不:

#include “stdio.h”


谢谢大佬,能行

XIANSIMAO 发表于 2019-1-3 08:38:45

刘邦 发表于 2019-1-2 21:37


感谢
页: [1]
查看完整版本: C语言实训题,求助大神