-1

我正在尝试打印从 1 到 20 (n 3)的所有数字的立方体。我想知道我的代码是否

printf("Enter an integer value\n");

有必要的。那条线的目的是什么?有人可以解释吗?谢谢。这是我学习 C 的第一天。

#include <stdio.h>
#include <stdlib.h>

/*
 * 
 */
int main(int argc, char** argv) 
{
    int num;
    printf("Enter an integer value\n");
    scanf("%d", &num);
    for ( num=1; num<21; num++){
        printf("The cube of %d is %d\n", num, num*num*num);
    }
    getchar();
}
4

4 回答 4

3

通过使用printf(),您正在屏幕上打印消息“输入整数值”。通过使用scanf(),您将在屏幕上键入的值转换为num变量(即初始化num)。但是在 forloop 中,您将num变量重新初始化为“1”到“21”。所以printf()scanf()在这里只是浪费时间。

如果你想要一个特定的数字立方体,那么只需执行以下操作,

#include <stdio.h>
#include <stdlib.h>
void main() 
{
     int num;

     printf("Enter an integer value\n");
     scanf("%d", &num);

     printf("The cube of %d is %d\n", num, num*num*num);

     getchar();
}
于 2014-09-05T05:41:06.770 回答
2

这是一个毫无意义的

printf("Enter an integer value\n");
scanf("%d", &num);

它只是显示消息并从键盘读取值,但是在 for 循环中,
当您将 1 分配给变量num然后之前的num值覆盖时。

于 2014-09-05T05:35:17.843 回答
0

它不适用于您的代码中的任何内容。

你得到了变量num,但你很快就会忽略它for ( num=1 ...

如果你想让它有用,你可以做类似的事情:

int num, i;
printf("Enter an integer value\n");
scanf("%d", &num);
for ( i=1; i<num; i++){   // print the cube of all numbers less than the entered value
    printf("The cube of %d is %d\n", i, i*i*i);
}
getchar();

否则,您可以删除这两行代码:

printf("Enter an integer value\n");
scanf("%d", &num);
于 2014-09-05T05:30:04.100 回答
0

行 printf("输入一个整数值\n");

向程序的用户显示“输入一个整数值”字样,

在您的代码中,行旁边的行没有任何意义,在这里您要求用户输入一个整数,然后保存该数字:

 printf("Enter an integer value\n");
 scanf("%d", &num);

因为在下一行中,您将参数 num 设置为 1。

下一个代码扫描用户输入,然后计算立方体:

int main(int argc, char** argv) 
{
    int num;
    printf("Enter an integer value\n");
    scanf("%d", &num);
    printf("The cube of %d is %d\n", num, num*num*num);
}
于 2014-09-05T05:40:29.740 回答