使用的程式語言是C
想請問有什麼辦法可以把以下程式碼的輸出複製出一個貼在其右邊呢?(如圖二)
自己目前的想法是把每行printf()利用迴圈做出複製的效果,但這樣迴圈就必須寫好幾個,而且現在的輸出只是簡易版,實際上的圖形更為複雜,感覺用迴圈效益不是很好
#include <stdio.h>
void green(void);
void yellow(void);
void blue(void);
int main()
{
for (int i=0;i<5;i++)
{
printf("*");
}
printf("\n");
for(int i=0;i<5;i++)
{
for (int j=0;j<i+1;j++)
{
printf(" ");
}
printf("*");
green();
yellow();
blue();
printf("*\n");
}
printf(" *****\n");
return 0;
}
圖一
圖二
這看起來最簡單的方式,就是在特定的位置,多套一層兩次的迴圈就行了。如我改寫你的程式多加的 k 迴圈。其他你也可以把要輸出的第一遍先放到字串陣列中,然後再 copy 一遍。不過這種就麻煩多了。我覺得你還是玩最簡單的 for 迴圈就好。
#include <stdio.h>
void green(void);
void yellow(void);
void blue(void);
int main()
{
int i;
for (int k = 0; k < 2; k++)
{
for (i = 0; i < 5; i++)
{
printf("*");
}
printf(" ");
}
printf("\n");
for (i = 0; i < 5; i++)
{
for (int j = 0; j < i + 1; j++)
{
printf(" ");
}
for (int k = 0; k < 2; k++)
{
printf("*");
green();
yellow();
blue();
printf("* ");
}
printf("\n");
}
for (int j = 0; j < i + 1; j++)
{
printf(" ");
}
for (int k = 0; k < 2; k++)
{
printf("***** ");
}
printf("\n");
return 0;
}
Input/Process/Output
一般程式設計的重點都在於 Process
方便請教是那所學校的什麼系的課程
會如此在乎輸入值的類型
和輸出能否複製貼上
另外
如果你還會繼續問程式設計的問題
可以用 code block(下圖紅框處)把程式碼框起來
會比較好看