标题: c语言 输出菱形图案 [打印本页]

作者: liuda    时间: 2015-1-22 02:39
标题: c语言 输出菱形图案
#include<stdio.h>

void main()
{
//这个输出图案的题有个笨方法,就是直接输出
//还有可以尝试一下循环
//升级版程序是,只要给出最长一行的奇数字符数,就能直接会出菱形图案
//我发现一个规律,中间多少个字符,就有多少行
   int n,m,a,b;
   int p,q;//空格数,还有字符数
   printf("please input a odd number:\n");
   scanf("%d",&m);//又忘了加&

   //现在需要一个统计空格数的变量,一次加一,还有统计字符数的变量,一次加二
   //输出一个正三角后还得再来个倒三角
   n=(m-1)/2;


   for(p=n,q=1;p>=0;p--,q+=2)
   {
       for(a=p;a>0;a--)//输出空格
   {printf(" ");}//看来要放技能了,循环嵌套
       for(b=q;b>0;b--)//这里还需要中间变量,否则pq的值就变了
   {printf("*");}
       printf("\n");//换行
   }
   //接下来是倒三角

   for(p=1,q=m-2;p<=n;p++ ,q-=2)
   {
   for(a=p;a>0;a--)//输出空格
   {printf(" ");}
   for(b=q;b>0;b--)
   {printf("*");}
   printf("\n");//换行
   }
}






欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1