C++问题,哪位大神指教一下呀!
3.编写程序,输入数字n(n<10),输出n层正方形图案。正方形图案最外层是第一层,依次往内,每层用的数字和层数相同。̴...
3.编写程序,输入数字n(n<10),输出n层正方形图案。正方形图案最外层是第一层,依次往内,每层用的数字和层数相同。
程序输出参考如下: 展开
程序输出参考如下: 展开
2019-05-19 · 您可信赖的物联网通信专家
关注
展开全部
直接看代码吧:
#include "stdio.h"
int min(int x, int y)
{
if (x > y)
{
return y;
}
else
{
return x;
}
}
int _abs(int a)
{
if (a <0 ) return -a;
}
int main()
{
int n =0;
int j,k,a = 0,b = 0;
printf("输入整数n\n");
scanf("%d", &n);
for (j = 0; j < n; j++)
{
if (j >= n/2)
{
b = n + 1;
}
a = 0;
for (k = 0; k < n; k++)
{
if (k >= n/2)
{
a = n + 1;
}
printf("%d ", min(_abs(j+1 -b) ,_abs(k+1 -a)));
}
printf("\n");
}
return 0;
}
网易云信
2023-12-06 广告
2023-12-06 广告
信令SDK是一种软件开发工具包,旨在帮助开发者在应用程序中实现信令协议的通信功能。它主要提供了一系列函数、协议和工具,用于处理信令消息的生成、解析、传输和存储等操作。通过使用信令SDK,开发者可以更快速、便捷地实现信令通信功能,提高应用程序...
点击进入详情页
本回答由网易云信提供
展开全部
#include<bits/stdc++.h>#include<stdlib.h>using namespace std;int main(){
int n,m,i,j;
int **a;
cin>>n;
a=(int **)malloc(sizeof(int*)*(2*n-1));
for(i=0;i<2*n-1;i++){
a[i]=(int*)malloc(sizeof(int)*(2*n-1));
}
m=1;
//三层循环,从外到内,“一层覆盖前一层的值”
while(m<=n){
for(i=m-1;i<=(2*n-1)-m;i++){
for(j=m-1;j<=(2*n-1)-m;j++){
a[i][j]=m;
}
}
m++;
}//输出正方形
for(i=0;i<(2*n-1);i++){
for(j=0;j<(2*n-1);j++){
if(j>0)
printf(" ");
cout<<a[i][j];
}
cout<<endl;
}
return 0;}
int n,m,i,j;
int **a;
cin>>n;
a=(int **)malloc(sizeof(int*)*(2*n-1));
for(i=0;i<2*n-1;i++){
a[i]=(int*)malloc(sizeof(int)*(2*n-1));
}
m=1;
//三层循环,从外到内,“一层覆盖前一层的值”
while(m<=n){
for(i=m-1;i<=(2*n-1)-m;i++){
for(j=m-1;j<=(2*n-1)-m;j++){
a[i][j]=m;
}
}
m++;
}//输出正方形
for(i=0;i<(2*n-1);i++){
for(j=0;j<(2*n-1);j++){
if(j>0)
printf(" ");
cout<<a[i][j];
}
cout<<endl;
}
return 0;}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询