我们的教授让我们制作一个C程序,用while循环显示一个数字的立方体



当我输入一个负整数时,输出不会产生它的多维数据集值。我很困惑该怎么办?这是我的代码:

#include <stdio.h>
int main()
{

int n, i, cube;
printf("Enter an integer: ");
scanf("%d",&n); 

while (i<=n)
{   
cube = i*i*i;   
i++;
}
printf("The cube of %d = %dn ", n, cube);  
return 0;
}

我假设您希望通过使用迭代3次的循环来计算一个数字的立方体。

int n, cube, i;
printf("Enter an integer: ");
scanf("%d",&n); 
cube = 1;
i = 0;
while (i < 3)
{
cube = cube * n;
i++;
}
printf("%dn", cube);
  1. 循环错误
  2. 循环调用未定义的行为,因为i未初始化

您只需要:

long long cube(int n)
{
return n * n * n;
}
int main(void)
{
int x = -21;
while(x++ < 40)
printf("n=%d n^3 = %lldn", x, cube(x));
}

或者,如果您需要使用while loop:

long long cube(int n)
{
long long result = 1;
int power = 3;
while(power--) result *= n;
return result;

}

或者充满了whiles而没有乘法运算。

long long cube(int n)
{
long long result = 0;
unsigned tempval = abs(n);
while(tempval--) result += n;
tempval = abs(n);
n = result;
while(--tempval) result += n;
return result;

}

你只想要一个数字的立方体吗?

i = 0;
cube = 1;
while (i<3)
{ 
cube *= n;
i++;
}

相关内容

最新更新