输出图形

来源:互联网 发布:随机算法原理 编辑:程序博客网 时间:2024/05/17 03:13
. . $ $ $ $ $ . .. . $ . . . $ . .$ $ $ . $ . $ $ $$ . . . $ . . . $$ . $ $ $ $ $ . $$ . . . $ . . . $$ $ $ . $ . $ $ $. . $ . . . $ . .. . $ $ $ $ $ . .. . $ $ $ $ $ $ $ $ $ . .. . $ . . . . . . . $ . .$ $ $ . $ $ $ $ $ . $ $ $$ . . . $ . . . $ . . . $$ . $ $ $ . $ . $ $ $ . $$ . $ . . . $ . . . $ . $$ . $ . $ $ $ $ $ . $ . $$ . $ . . . $ . . . $ . $$ . $ $ $ . $ . $ $ $ . $$ . . . $ . . . $ . . . $$ $ $ . $ $ $ $ $ . $ $ $. . $ . . . . . . . $ . .. . $ $ $ $ $ $ $ $ $ . .. . $ $ $ $ $ $ $ $ $ $ $ $ $ . .. . $ . . . . . . . . . . . $ . .$ $ $ . $ $ $ $ $ $ $ $ $ . $ $ $$ . . . $ . . . . . . . $ . . . $$ . $ $ $ . $ $ $ $ $ . $ $ $ . $$ . $ . . . $ . . . $ . . . $ . $$ . $ . $ $ $ . $ . $ $ $ . $ . $$ . $ . $ . . . $ . . . $ . $ . $$ . $ . $ . $ $ $ $ $ . $ . $ . $$ . $ . $ . . . $ . . . $ . $ . $$ . $ . $ $ $ . $ . $ $ $ . $ . $$ . $ . . . $ . . . $ . . . $ . $$ . $ $ $ . $ $ $ $ $ . $ $ $ . $$ . . . $ . . . . . . . $ . . . $$ $ $ . $ $ $ $ $ $ $ $ $ . $ $ $. . $ . . . . . . . . . . . $ . .. . $ $ $ $ $ $ $ $ $ $ $ $ $ . ./*问题描述:小明为某机构设计了一个十字型的徽标(并非红十字会啊),如下所示:..$$$$$$$$$$$$$....$...........$..$$$.$$$$$$$$$.$$$$...$.......$...$$.$$$.$$$$$.$$$.$$.$...$...$...$.$$.$.$$$.$.$$$.$.$$.$.$...$...$.$.$$.$.$.$$$$$.$.$.$$.$.$...$...$.$.$$.$.$$$.$.$$$.$.$$.$...$...$...$.$$.$$$.$$$$$.$$$.$$...$.......$...$$$$.$$$$$$$$$.$$$..$...........$....$$$$$$$$$$$$$..对方同时也需要在电脑dos窗口中以字符的形式输出该标志,并能任意控制层数。输入格式:一个正整数 n (n<30) 表示要求打印图形的层数。输出格式:对应包围层数的该标志。样例输入1:1样例输出1:..$$$$$....$...$..$$$.$.$$$$...$...$$.$$$$$.$$...$...$$$$.$.$$$..$...$....$$$$$..样例输入2:3样例输出2:..$$$$$$$$$$$$$....$...........$..$$$.$$$$$$$$$.$$$$...$.......$...$$.$$$.$$$$$.$$$.$$.$...$...$...$.$$.$.$$$.$.$$$.$.$$.$.$...$...$.$.$$.$.$.$$$$$.$.$.$$.$.$...$...$.$.$$.$.$$$.$.$$$.$.$$.$...$...$...$.$$.$$$.$$$$$.$$$.$$...$.......$...$$$$.$$$$$$$$$.$$$..$...........$....$$$$$$$$$$$$$..提示:请仔细观察样例,尤其要注意句点的数量和输出位置。*/#include <stdio.h>int main(){int a[125][125]={0},i,j,k,n,cen;scanf("%d",&n);cen=2*n+3;//通过观察样例图形找出的规律 a[cen-2][cen]=a[cen-1][cen]=1;for(i=3;i<=cen;i=i+2)a[i][i]=1;for(i=2;i<=cen-3;i=i+2)a[i][i+1]=1;for(i=1;i<cen-2;i=i+2)for(j=i+2;j<=cen;j++)a[i][j]=1;//左边8分之一图形/*把图形拆分成几个部分,每一个部分一个一个解决,有重复的用8分之一,后来再覆盖即可,同时只找有规律的"$"而不是".",方便用循环*/for(i=1;i<=cen;i++)for(j=i;j<=cen;j++)a[j][i]=a[i][j];for(i=1;i<=cen;i++)for(j=1;j<=cen;j++)a[i][2*cen-j]=a[i][j];for(i=1;i<=cen;i++)for(j=1;j<=2*cen-1;j++)a[2*cen-i][j]=a[i][j];for(i=1;i<=2*cen-1;i++)for(j=1;j<=2*cen-1;j++){if(a[i][j]==1)printf("$");//用1,找有规律的"$",而不是去找".",用1,如果是1,输出,而不一定用char装"$"与"."elseprintf(".");if(j==2*cen-1)printf("\n");}return 0;}

0 0
原创粉丝点击