那題更簡單XD


#include<stdio.h>
#include<stdlib.h>

int main( )
{
int n, i, j;
printf("請輸入一個整數: "),
scanf("%d",&n);
n*=2;

for(i=1; i<=n; i++)
{
for(j=1; j<=n; j++)
if(i==1 || i==n || j==1 || j==n || i==j)printf("*");
else printf(".");

printf("\n");
}
system("PAUSE");
return 0;
}
#include <stdio.h>
#include <stdlib.h>

int main()
{
int i, j, ln, m, n;

printf("金字塔形共幾列?");
scanf("%d", &ln);

for(m=0;m < 75;m++)
{


for(i=1;i <= ln;i++)
{
for(n=0; n<m;n++)
printf(" ");
for(j=1; j <= ln-i; j++)
putchar(' ');
for(j=1; j <= i; j++)
putchar('*');
for(j=2; j <= i; j++)
putchar('*');

putchar('\n');
}
system("cls");

}

return 0;
}
抱歉,咬文嚼字一下:
1. C語言只有語法規則,沒有邏輯;所謂的邏輯應該是形容題目
2. 這種題目其實也不算畫圖,它只是可以圖形方式來呈現
3. 解這種題目,它都有其"規則",您可以先以自己的方式來描述,我想類似數學公式的流程會比較適合
4. 就像您所舉的例,可以先以一個小範例找出"特定解",再延伸至"通解",再寫成程式,就是您要的了
x37295681po wrote:
#include &...(恕刪)


有動畫有好玩到XD
不過可以這樣改~

#include <stdio.h>
#include <stdlib.h>
#include <windows.h>

int main()
{
int i, j, ln, m, n, time;

printf("金字塔形共幾列?");
scanf("%d", &ln);
printf("延遲時間?(單位ms)");
scanf("%d", &time);

for(m=0; m<80-ln*2 ;m++)
{
_sleep(time);
system("cls");

for(i=1;i <= ln;i++)
{
for(n=0; n<m;n++)
printf(" ");
for(j=1; j <= ln-i; j++)
putchar(' ');
for(j=1; j <= i; j++)
putchar('*');
for(j=2; j <= i; j++)
putchar('*');

putchar('\n');
}

}
system("pause");
return 0;
}
我這一邊有一個疑問!

若是 "空白" 在 "*" 之後,那有 印出來的必要嗎?
傻綠班的鴿 8:17 ━━━━━━━━●━━━ 14:50 ⇆ㅤㅤㅤㅤ◁ㅤㅤ❚❚ㅤㅤ▷ㅤㅤㅤㅤ↻
禮誠工作室 wrote:
我這一邊有一個疑問!...(恕刪)


喔對,那倒是沒必要,不過我寫得時候只有看圖例,所以當作其他符號,
就順便寫上去了
daniel35 wrote:
我要寫一個程式,輸入...(恕刪)


我覺得這跟用什麼程式去寫沒有很大關係
很單純就是找出他的規則
再來才是用一段、或數段程式去描述他

至於怎麼找規則?
老實說我不知道...
好像就...看一看...試一試..辦法就跑出來了?
Zclub Mini-Z 討論區 歡迎來逛逛~: http://mini.zclub.com.tw        <-- 這網址夠好記吧?
分析規則:
當一行有N個數時
第一行:先印(N-1)/2 個空白 在印一顆星 在印印(N-1)/2 個空白
第二行:先印(N-3)/2 個空白 在印三顆星 在印印(N-3)/2 個空白
.....
最後一行:先印(N-N)/2 個空白 在印N顆星 在印印(N-N)/2 個空白
手邊剛好打開的是FLASH, 就用FLASH寫了一下, C也差不多, 可能還會更短:

var i,j,s="",n=6;
for(i=n;i--; )for(j=n*2-1;j--; )s+=(j>=n*2-1-i||j<i?"O":"*")+(j?"":"\n");
trace(s);
stop();

這是回第一樓的....

話說回來, 如果念本科系的考到這題還得剉咧等, 那真是前途堪慮了.
這種題目該比的不是"誰寫得出來", 而是"誰的寫法比較變態"了.

其實這種東西就是數列邏輯, 找到了就沒什麼.
找不到可以用EXCEL幫忙.
別當基本教義派.
daniel35 wrote:
類似的題目還有:輸入...(恕刪)


分析規則:
第一行和最後一行都是印10顆星
剩下的每一行 開頭和結尾都有一顆星
第2行是先0個空白 在一顆星在來都是空白
第3行是先1個空白 在一顆星在來都是空白
第4行是先2個空白 在一顆星在來都是空白
....
以此類推
文章分享
評分
評分
複製連結

今日熱門文章 網友點擊推薦!