用陣列將其無規則數值規則化

一般來說,有規律的條件基本上我們都可以用迴圈下去做,但如果遇到的沒有規律的數值,其實可以運用陣列來讓它變得有某一種規律在,
例如買東西,範例如下:
#include<stdio.h>
int main(){
int prices[]={90,75,83,89,71};
int total=0,id
do{
scanf("%d",&id);
total=total+prices[id-1];
}while(id!=0);
printf("Total : %d\n",total);
return 0;
}

以上程式碼是經過運用陣列調整後的程式,比起以下的原始程式是不是少了很多,而且陣列是更有擴充性的,對於未來資料增加6.7.8.9.....有比較高的擴充性且便利。
原始利用do-while和switch去做的範例如下:
#include<stdio.h>
int main(){
int id,total=0;
do{
scanf("%d",&id);
switch(id){
case 1:total+=90;break;
case 2:total+=75;break;
case 3:total+=83;break;
case 4:total+=89;break;
case 5:total+=71;break;
}
}while(id!=0);
printf("payment: %d\n",total);
return 0;
}

留言