字符菱形与数字菱形.docx
《字符菱形与数字菱形.docx》由会员分享,可在线阅读,更多相关《字符菱形与数字菱形.docx(13页珍藏版)》请在冰点文库上搜索。
字符菱形与数字菱形
字符菱形与数字菱形
1、数字菱形
#include
#include
int main() { int m,m2,l,i,j,k,n;
scanf("%d",&n);
m=0;
for(i=n;i>0;i/=10)
m++;
for(i=0;i {
for(j=0;j {
l = abs(i-(n-1))+abs(j-(n-1))+1;
if (l>n)
for(k=0;k printf(" ");
else
{
m2=0;
for(k=l;k>0;k/=10)
m2++;
for(k=m-m2;k>0;k--)
printf(" ");
printf("%d", l);
}
printf(" ");
}
printf("\n");
}
return 0;
}
2、空心字符菱形
#include
main()
{
intn=0,i=0,j=0;charc='\0';
scanf("%c%d",&c,&n);
for(i=1;i{
for(j=0;jprintf("%c",c+i-1);
for(j=1;i-1>0>0&&j<=2*i-3;j++)printf("");
if(i-1>0)printf("%c",c+i-1);
printf("\n");
}
for(i=n-1;i>0;i--)
{
for(j=0;jprintf("%c",c+i-1);
for(j=1;i-1>0>0&&j<=2*i-3;j++)printf("");
if(i-1>0)printf("%c",c+i-1);
printf("\n");
}
}
3、空心数字菱形
#include
intmain()
{
inti,j,k,n,line,m;
printf("请输入一个数字:
");
scanf("%d",&line);
m=(line+1)/2;
for(i=1;i<=m;i++)
{
for(k=0;k<2*(m-i);k++)
{
printf("");
}
for(n=i;n>=1;n--)
printf("%d",i);
if(i==1)
{
printf("\n");
continue;
}
for(j=0;j<2*i-3;j++)
{
printf("");
}
for(n=i;n>=1;n--)
printf("%d",i);
printf("\n");
}
for(i=m-1;i>0;i--)
{
for(k=0;k<2*(m-i);k++)
{
printf("");
}
for(n=i;n>=1;n--)
printf("%d",i);
if(i==1){printf("\n");continue;}
for(j=0;j<2*i-3;j++)
{
printf("");
}
for(n=i;n>=1;n--)
printf("%d",i);
printf("\n");
}
return0;
}
运行结果如图:
4、
#include"stdio.h"
main()
{
inti,j,k;
for(i=1;i<=5;i++)
{
for(j=1;j<=5-i;j++)
printf("");
for(k=i;k>=1;k--)
printf("%d",k);//输出从1到n
printf("\n");
}
}
5、
#include
#include
#defineN5
voidmain()
{
inti,j;
for(i=-N;i<=N;i++)
{
for(j=-N;j<=N;j++)
{
if(abs(i)+abs(j)<=N)
printf("*");
else
printf("");
}
printf("\n");
}
getchar();
}
#include"stdio.h"
main()
{
inti,j,k;
for(i=0;i<=3;i++){//循环4次,打出前4行
for(j=0;j<=2-i;j++)//设定每行*前面的空格,每行都是2-i个
printf("");
for(k=0;k<=2*i;k++)//循环打出2*i-1个*号,
printf("*");
printf("\n");//打完一行后换行
}
for(i=0;i<=2;i++)//循环3次,打出后3行
{for(j=0;j<=i;j++)//设定每行*前面的空格,每行都是i个
printf("");
for(k=0;k<=4-2*i;k++)//循环打出2*(2-i)个*号
printf("*");
printf("\n");//打完一行后换行
}
}
#include"stdio.h"
main()
{
inti,j;
for(i=1;i<=4;i++)
{
for(j=1;j<4+i;j++)
{
if(i+j<5)
printf("");
else
printf("*");
}
printf("\n");
}
for(i=1;i<=3;i++)
{
for(j=1;j<=7-i;j++)
{
if(i>=j)
printf("");
else
printf("*");
}
printf("\n");
}
}
6.*****
*****
*****
*****
#include
voidmain()
{
inti,j;
for(i=1;i<=4;i++)
{
for(j=1;j<=5;j++)
{
printf("*");
}
printf("\n");
}
}
7.*
**
***
****
*****
#include
voidmain()
{
inti,j;
for(i=1;i<=5;i++)
{
for(j=1;j<=i;j++)
{
printf("*");
}
printf("\n");
}
}
8.*****
****
***
**
*
#include
voidmain()
{
inti,j;
for(i=1;i<=5;i++)
{
for(j=5;j>=i;j--)
{
printf("*");
}
printf("\n");
}
}
9.
*
**
***
****
*****
#include
voidmain()
{
inti,j;
for(i=1;i<=5;i++)//控制输出5行
{
for(j=1;j<=5-i;j++)//每行先输出5-i个空格
printf("");
for(j=1;j<=i;j++)//每行输出i个*
printf("*");
printf("\n");//每行最后输出回车
}
}
10.输出菱形
*
***
*****
*******
*****
***
*
#include
#include
voidmain()
{
inti,j;
for(i=1;i<=7;i++)//控制输出7行
{for(j=1;j<=abs(4-i);j++)//每行先输出|4-i|个空格
printf("");
for(j=1;j<=((i<4)?
2*i-1:
15-2*i);j++)
//每行输出若干个*,当i<4时为2*i-1,否则为15-2*i
printf("*");
printf("\n");//每行最后输出回车
}
}