初级版:
Description
由键盘输入正数n(n<30),要求输出如下2*n+1行的菱形图案。
#include<stdio.h>
int main()
{
int i,j,n;
scanf("%d",&n);
for(i=1;i<=n+1;i++)
{
for(j=1;j<=n+1-i;j++)
printf(" ");
for(j=1;j<=2*i-1;j++)
printf("+");
printf("\n");
}
for(i=n;i>0;i--)
{
for(j=n-i;j>=0;j--)
printf(" ");
for(j=2*i-2;j>=0;j--)
printf("+");
printf("\n");
}
return 0;
}
绝对值改进版:
#include "stdio.h"
#define abs(x) ((x)>0?(x):-(x))
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");
}
}
数字改进版:
Description
由键盘输入正数n(n<10),要求输出如下中间数字为n的菱形图案。
#include<stdio.h>
#define abs(x) ((x)>0?(x):-(x))
main()
{ int n,i,j;
scanf("%d",&n);
n--;
for(i=-n;i<=n;i++)
{ for(j=0;j<abs(i);j++) printf(" ");
for(j=-(n-abs(i));j<=n-abs(i);j++) printf("%d",n+1-abs(j)-abs(i));
printf("\n");
}
}
空心菱形改进版:
描述
由键盘输入n(n为奇数),打印如下图空心菱形
#include "stdio.h"
#define abs(x) ((x)>0?(x):-(x))
int main()
{
int i,j,m,n;
scanf("%d",&m);
n=m/2+1;
for(i=1-n; i<n; i++)
{
for(j=0; j<abs(i); j++)
printf(" ");
for(j=0; j<2*(n-abs(i))-1; j++)
{
if(j==0||j==2*(n-abs(i))-2)
printf("+");
else
printf(" ");
}
printf("\n");
}
return 0;
}
**空心菱形数字改进版**
#include <stdio.h>
#include <string.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<=2n-1-2abs(i); j++)
{
if(j1||j2n-1-2abs(i))
printf(”%d",n-abs(i));
else
printf(" “);
}
printf(”\n");
}
}
挖空菱形改进版:
#include <stdio.h>
#include <math.h>
#define abs(x) ((x)>0?(x):-(x))
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;
}
边框菱形改进版:
#include "stdio.h"
#define abs(x) ((x)>0?(x):-(x))
int main()
{
int n,i,j;
scanf("%d",&n);
for(i=0; i<n; i++)
{
if(i==0||i==n-1){
for(j=0;j<n;j++)
printf("*");
printf("\n");}
else
{
printf("*");
for(j=0;j<abs(n/2-i)-1;j++)
printf(" ");
if(i!=n/2)
printf("*");
for(j=0; j<n-2*abs(n/2-i)-2; j++)
printf(" ");
if(j!=0)
printf("*");
for(j=0;j<abs(n/2-i)-1;j++)
printf(" ");
if(i!=n/2)
printf("*");
printf("\n");
}
}
return 0;
}
吞风吻雨葬落日未曾彷徨
欺山赶海践雪径也未绝望
拈花把酒偏折煞世人情狂
凭这两眼与百臂或千手不能防
天阔阔雪漫漫共谁同航
这沙滚滚水皱皱笑着浪荡
——《难念的经》