C语言 是否有一种方法可以保存for循环每次迭代的变量值

s5a0g9ez  于 2022-12-03  发布在  其他
关注(0)|答案(2)|浏览(202)

我是一个编程新手,所以如果这个问题有点愚蠢,请原谅。不管怎么说,我正在制作这个控制台程序,它应该计算每次攻击后的总伤害。例如:伤害是100每一次打击,0初始伤害加成,增加50每一次打击。2程序应该计算总伤害后,N次打击。
这是我想到的

#include <stdio.h>

int main(){
    
int n;
int bonusDam = 0;
int i;
int b;
int a;
scanf("%d", &n);

for (i = 1; i <= n; i++){
    b = 100 + bonusDam;
    bonusDam = bonusDam + 50;
    printf("Hit %d : %d\n", i, b);
}

    return 0;
}

我找到了计算额外伤害的方法,但不是计算N次攻击后的总伤害。一个for循环是不是个好主意?如果我输入3,它会输出“100,150,200”,但我想做的是把它们加起来,比如“100 + 150 + 200 = 450”,最后控制台只显示“450”

tvokkenx

tvokkenx1#

我只想补充一点,计算最终结果不需要for循环

int b = 100 * n + 50 * n * (n - 1) / 2;
sqxo8psd

sqxo8psd2#

一个简单的解决方案是在循环之前设置b = 0;,并替换
b = 100 + bonusDam;

b = b + 100 + bonusDam;
这将有效地把B转化为总损失,通过每次迭代后的累加值。通过将printf("Hit %d : %d\n", i, b);移出循环,你应该得到你想要的结果。

相关问题