火影手游是一款格斗游戏,忍者强度是决定胜负的关键因素之一。想要收集强力忍者横扫决斗场必须规划好自己的金币。游戏里的特权商店是获取以前强力的高级招募S级忍者和A级忍者的重要渠道。
已知:一个S级忍者购买一个碎片,在不开通超影服务的情况下需要680金币,在特权商店每花费多少金币将会返利多少特权积分,如680买一个碎片将会返还680特权积分,满2080积分可以用积分换一片碎片,S级忍者需要100片合成,问在特权商店买一个S忍需要多少金币?
解析:这里一共有两种途径可以兑换碎片,所以定以两个变量a和b,a用来记录金币,b用来记录积分,再定以变量i来记录碎片个数。
#include<stdio.h>
int main()
{
int a = 0;//a是金币
int b = 0;//b是特权积分
int i;//i是碎片
for (i = 0; i <= 100; i++)//用循环语句,让i自加,直到100跳出循环
{
a = a + 680;
b = b + 680;
if (b >= 2080)//当特权积分满2080时,可额外兑换一片碎片
{
i++;
b = b - 2080;//换完之后积分减少2080
}
}
printf("不开超影服务买一个S忍一共需要%d个金币\n", a);//最后打印所花的金币即可
printf("最后还剩%d的特权积分\n", b);
return 0;
}
当然开通超影服务打8折,此时时578金币买一片碎片,只需要把数字680换成578即可。
如果是买高招A级忍者,则不开超影服务,420金币购买一片,40个碎片可合成。这时把680改成420,i<=100改成i<=40。
int main()
{
int a = 0;//a是金币
int b = 0;//b是特权积分
int i;//i是碎片
for (i = 0; i <= 40; i++)//用循环语句,让i自加,直到100跳出循环
{
a = a + 420;
b = b + 420;
if (b >= 2080)//当特权积分满2080时,可额外兑换一片碎片
{
i++;
b = b - 2080;//换完之后积分减少2080
}
}
printf("不开超影服务买一个S忍一共需要%d个金币\n", a);//最后打印所花的金币即可
printf("最后还剩%d的特权积分\n", b);
return 0;
}
计算程序的基本框架就是这样了,在实际情况中可以根据以下操作进行。
for (i = 0; i <= y; i++)//y换成还差多少碎片
a = a + x;
b = b + x;//x换成购买一片碎片所需的金币
运行即可。如差46片,578金币一片
#include<stdio.h>
int main()
{
int a = 0;//a是金币
int b = 0;//b是特权积分
int i;//i是碎片
for (i = 0; i <= 46; i++)//用循环语句,让i自加,直到100跳出循环
{
a = a + 578;
b = b + 578;
if (b >= 2080)//当特权积分满2080时,可额外兑换一片碎片
{
i++;
b = b - 2080;//换完之后积分减少2080
}
}
printf("一共需要%d个金币\n", a);//最后打印所花的金币即可
printf("最后还剩%d的特权积分\n", b);
return 0;
}