2008年4月16日 星期三

讓程式輸出的更美觀

困難度:★

好的程式要讓人很舒服的看,輸出的部份當然就很重要。
我不是資工系的學生,對我來說演算法、程式的速度、執行的流暢度並不是主要的要求(當然也是十分的重要)。

所以下面我就介紹用一些簡單的方法,讓自己的程式更加美觀。





我們有時候會用陣列來儲存資料

當把所有陣列的內容都印出來時,可以把迴圈變數當做判斷換行的依據。




有的時候不是所有陣列的內容都要印出來,這時候要新增一個變數,紀錄印出了幾個數再判斷是否要換行。

上圖的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"); }

沒有留言:

張貼留言

Related Posts Plugin for WordPress, Blogger...