首页 > 解决方案 > 使用嵌套 for 循环使用 C 查找数字的二次幂

问题描述

我需要使用嵌套的 for 循环找到从 -14 到 14 的数字的平方。到目前为止,我对应该如何编写外循环感到困惑,我只有这个

    for(i=14;i>0;i--1)
        {
    for (k=i;k>=pow(i,2); k--)
    }

这仅适用于0-14。请帮忙

标签: cfor-loopnested-loops

解决方案


我需要使用嵌套的 for 循环找到从 -14 到 14 的数字的平方。

我假设这是一个关于嵌套循环的练习,而不是一个数学问题,因此低效但预期的解决方案可能如下

#include <stdio.h>

int main(void)
{
    for (int i = -14; i <= 14; i++) {
        //       ^^^    ^^^^^
        int square = 0;
        // Take the absolute value of the outer index
        int factor = i < 0 ? -i : i;
        // Remember that i * i = i + i + ... + i (i times)
        for (int j = 0; j < factor; ++j) {
            //       ^      ^^^^^^
            square += factor;
        }
        printf("The square of %d is %d\n", i, square);
    } 
}

推荐阅读