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

编写函数 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 }


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值