给出一个整数,输出菱形数字
Posted 孙瑞霜
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了给出一个整数,输出菱形数字相关的知识,希望对你有一定的参考价值。
一、
#include <stdio.h>
#define abs(x) ((x)>0?(x):-(x))
int main()
{
int n,i,j;
scanf("%d",&n);
for(i=-n;i<=n;i++)
{
for(j=1;j<=abs(i);j++) printf(" ");
for(j=1;j<=2*n+1-2*abs(i);j++)
printf("*");
printf("\\n");
}
}
二、
#include<stdio.h>
#include<math.h>
int main()
{
int n,i,j,k;
scanf("%d",&n);
for(i=-(n-1); i<=(n-1); i++)
{
for(j=-(n-1); j<=(n-1); j++)
{
if(i==0||j==0)
printf("1");
else if( abs(i) + abs(j) <= (n-1))
printf("%d",abs(i)+abs(j));
else
printf(" ");
}
printf("\\n");
}
}
三、
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main()
{
int n,i,j;
scanf("%d",&n);
for(i=-(n/2);i<=n/2;i++)
{
if(i==-(n/2)||i==(n/2))
{
if(i==-(n/2))
{
for(j=1;j<=n;j++)
{
printf("*");
}
printf("\\n");
}
else
{
for(j=1;j<=n;j++)
{
printf("*");
}
}
}
else
{
for(j=1;j<=abs(i)+1;j++) printf("*");
for(j=1;j<=(n-2*(abs(i)+1));j++) printf(" ");
for(j=1;j<=abs(i)+1;j++) printf("*");
printf("\\n");
}
}
return 0;
}
以上是关于给出一个整数,输出菱形数字的主要内容,如果未能解决你的问题,请参考以下文章
shell脚本编程设计——根据输入的数输出菱形三角形或者数字金字塔(带闪烁颜色)