|
Post by huangno1 on Feb 26, 2017 20:32:33 GMT -8
程式說明
在一個角色扮演遊戲中,當玩家遇到天使時,天使會根據玩家的經驗值給予寶石。請你撰寫一個函式 Reward(),傳入玩家經驗值,回傳玩家可得的寶石數量。
玩家經驗值:可得寶石數
0~9:0
10~19:1
20~29:2
30~49:3
50~99:6
100~199:9
200~399:15
400~799:29
800~1999:44
2000~9998:70
9999 以上:100
撰寫函式時,請嘗試不要使用冗長的 if ... else if ... else if 寫法,而思考如何使用陣列與迴圈來完成。
#include <stdio.h>
int Reward ( int exp )
{
int i ;
int f [ 10 ] = { 0 , 10 , 20 , 30 , 50 , 100 , 200 , 400 , 800 , 2000 } ;
int e [ 10 ] = { 9 , 19 , 29 , 49 , 99 , 199 , 399 , 799 , 1999 , 9998 } ;
int q [ 10 ] = { 0 , 1 , 2 , 3 , 6 , 9 , 15 , 29 , 44 , 70 } ;
if ( exp >= 9999 )
return 100 ;
for ( i = 0 ; i < 10 ; i ++ )
{
if ( exp >= f [ i ] && exp <= e [ i ] )
return q [ i ] ;
}
}
int main()
{
int exp=0;
scanf("%d", &exp);
printf("%d\n", Reward(exp));
}
|
|