解题思路:
注意事项:
参考代码:
#include<stdio.h>
int main()
{
int m,M,n,x,i;
scanf("%d %d %d",&M,&n,&x); //M为最大体力值,n为当前战斗力,x为拥有的能量元素
m=0; //初始体力值为0
for(i=0;i<x;i++){ //一共有10个能量元素 (每次循环消耗一个)
m=m+n; //消耗一个能量元素(循环一次)恢复n个体力值(不管是否超过M)
if(m>=M){ //体力值恢复到M或者超过M
n=n+M/n; //体力值为M,则有M天战斗期,每战斗n天上升1点战斗力,则 M天战斗力上升M/n点,此处用M而不用m就可以巧妙避开分类讨论m>M和m=M的情况
m=0; //战斗结束,体力值降为0,开始下一轮能量恢复
}
if(M<n){ //最大体力值小于战斗力,战斗力无法再提高,退出循环
break;
}
}
printf("%d",n);
return 0;
}
0.0分
0 人评分
C语言程序设计教程(第三版)课后习题8.9 (C语言代码)浏览:597 |
2004年秋浙江省计算机等级考试二级C 编程题(1) (C语言代码)浏览:676 |
大家好,我是验题君浏览:604 |
星期判断机 (C语言代码)浏览:892 |
Tom数 (C语言代码)浏览:517 |
杨辉三角 (C语言代码)浏览:504 |
简单的事情 (C语言代码)浏览:679 |
C语言程序设计教程(第三版)课后习题7.2 (C语言代码)浏览:812 |
C语言程序设计教程(第三版)课后习题6.7 (C语言代码)浏览:735 |
检查金币 (C语言代码)浏览:1504 |