好的程式要讓人很舒服的看,輸出的部份當然就很重要。
我不是資工系的學生,對我來說演算法、程式的速度、執行的流暢度並不是主要的要求(當然也是十分的重要)。
所以下面我就介紹用一些簡單的方法,讓自己的程式更加美觀。
我們有時候會用陣列來儲存資料
當把所有陣列的內容都印出來時,可以把迴圈變數當做判斷換行的依據。
有的時候不是所有陣列的內容都要印出來,這時候要新增一個變數,紀錄印出了幾個數再判斷是否要換行。
上圖的code是印出陣列內的質數,並做排板。
如果印出時需要間隔逗號的話,要注意最後一個數別再加上逗號。
有時候會我們會希望自己的程式趨近於格式化,不會因為上面的輸出的改變而改變底下資料的位置。
這時候能把行數給補齊。
上面這張圖,雖然兩次執行的時候質數並不一樣多,但是程式的結尾處是在一樣的位置。
程式碼:
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main()
{
int arr[100],i,j,prime,n;
srand(time(NULL));
for(i=1;i<=100;i++) //初始化陣列 arr[i]=rand()%100+1; for(i=1;i<=10;i++) //雙層迴圈 { for(j=1;j<=10;j++) printf("%4d",arr[j+(i-1)*10]); printf("\n"); } printf("\n"); printf("prime:\n"); n=0; for(i=1;i<=100;i++) //析出質數 { prime=1; for(j=2;j*j<=arr[i];j++) if(arr[i]%j==0) prime=0; if(prime) { if(n!=0) printf("\n"); n++; printf("%d",arr[i]); } } for(i=n;i<=30;i++) //補換行 printf("\n"); }
沒有留言:
張貼留言