#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");//换行
}
}
|