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