Linux C一站式学习习题答案6.5.2打印菱形

来源:互联网 发布:悉尼留学生活费 知乎 编辑:程序博客网 时间:2024/05/17 08:26
编写函数diamond打印一个菱形。如果调用diamond(3, '*')则打印:
*****

如果调用diamond(5, '+')则打印:

+++++++++++++

如果用偶数做参数则打印错误提示。

转载请注明源地址:http://blog.csdn.net/whorus1/article/list/2,谢谢!

  1 #include<stdio.h>  2 /*打印菱形*/  3   4   5 /*根据输入的参数打印相应的菱形*/  6 void diamond ( int n,char c )  7 {  8         int i,j;  9         for (j=1;j<=n/2+1;j++)     //打印上半部分 10         { 11                 for(i=1;i<=n/2+1-j;i++) 12                         printf("   ");  //空格(第j行前半部分有n/2+1-j个空格,符号后面的空格不管) 13                 for(i=1;i<=2*j-1;i++) 14                         printf("%c  ",c);  //符号(第j行有2*j-1个) 15                 printf("\n"); 16         } 17         for (j=n/2;j>=1;j--)     //下半部分 18         { 19                 for(i=1;i<=n/2+1-j;i++) 20                         printf("   "); 21                 for(i=1;i<=2*j-1;i++) 22                         printf("%c  ",c); 23                 printf("\n"); 24         } 25 } 26  27  28 int main() 29 { 30         int n; 31         char c; 32  33 /*输入参数,如果n为偶数则报错*/ 34         printf("请输入参数:"); 35         scanf("%d %c",&n,&c); 36         if (n%2==0) 37                 printf("ERROR!!!\n"); 38         else 39         { 40                 printf("(%d,'%c')\n",n,c); 41                 diamond(n,c); 42         } 43         return 0; 44 }


1 0