C#使用循环计算1-3各数自身次幂 现有代码仅能计算平方求助
问题原因
你当前代码里的i*i逻辑是固定计算i的2次方(平方),和你需要的「i的i次方」逻辑不符,所以输出结果不符合预期。同时你的代码没有声明tav变量的类型,会直接触发编译错误。
修复方案
方案1:使用C#内置Math.Pow方法(最简便)
Math.Pow是.NET类库内置的幂运算方法,两个入参分别对应底数、指数,返回值为double类型,按需转成整数即可:
for (int i = 1; i <= 3; i++) { int tav = Convert.ToInt32(Math.Pow(i, i)); Console.WriteLine(tav); }
运行输出结果:
1 4 27
方案2:手写嵌套循环实现(适合新手理解幂运算逻辑)
如果想自己实现幂运算逻辑,可以加一层内层循环,循环乘i共i次得到结果:
for (int i = 1; i <= 3; i++) { int tav = 1; for (int j = 0; j < i; j++) { tav *= i; } Console.WriteLine(tav); }
运行结果和方案1完全一致。
补充说明
如果不需要每个结果单独换行,可以把Console.WriteLine换回你原来用的Console.Write。
内容的提问来源于stack exchange,提问作者Reza Rezaee
相关产品推荐
相关产品推荐

