帮我做一道c语言题

不死族的巫妖王发工资拉,死亡骑士拿到一张N元的钞票(记住,只有一张钞票),为了防止自己在战斗中频繁的死掉,他决定给自己买一些道具,于是他来到了地精商店前.死亡骑士:"我要... 不死族的巫妖王发工资拉,死亡骑士拿到一张N元的钞票(记住,只有一张钞票),为了防止自己在战斗中频繁的死掉,他决定给自己买一些道具,于是他来到了地精商店前.

死亡骑士:"我要买道具!"

地精商人:"我们这里有三种道具,血瓶150块一个,魔法药200块一个,无敌药水350块一个."

死亡骑士:"好的,给我一个血瓶."

说完他掏出那张N元的大钞递给地精商人.

地精商人:"我忘了提醒你了,我们这里没有找客人钱的习惯的,多的钱我们都当小费收了的,嘿嘿."

死亡骑士:"......"

死亡骑士想,与其把钱当小费送个他还不如自己多买一点道具,反正以后都要买的,早点买了放在家里也好,但是要尽量少让他赚小费.

现在死亡骑士希望你能帮他计算一下,最少他要给地精商人多少小费.
输入数据的第一行是一个整数T(1<=T<=100),代表测试数据的数量.然后是T行测试数据,每个测试数据只包含一个正整数N(1<=N<=10000),N代表死亡骑士手中钞票的面值.
注意:地精商店只有题中描述的三种道具.对于每组测试数据,请你输出死亡骑士最少要浪费多少钱给地精商人作为小费.
比如:输入;
2
900
250
输出:
0
50
展开
 我来答
Ethan666888
2009-02-19 · TA获得超过1万个赞
知道小有建树答主
回答量:950
采纳率:50%
帮助的人:472万
展开全部
#include <stdio.h>
int statue[201];
int money;
int n;
void init()
{
int i;
for( i=1 ; i<=200; i++)
{
statue[i] = 0;
}
statue[3] = 1;
statue[4] = 1;
statue[7] = 1;
}

int jisuan(int money)
{
int i;
for(i=1;i<=money;i++)
{
if(statue[i] == 1)
{
statue[i+3] = 1;
statue[i+4] = 1;
statue[i+7] = 1;
}
}
for(i=money;i>=1;i--)
{
if(statue[i]!=0)
break;
}
return (money-i)*50;
}

int main()
{
int tmp;
scanf("%d",&n);
while(n--)
{
init();
scanf("%d",&money);
tmp = money%50;
printf("%d\n",jisuan(money/50)+tmp);
}
getchar();
return 0;
}
我是用VC++来编译的,不同的编译系统不一样,如果你用其它的来编译,有可能有一些小错误,注意调试
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式