c - C 中的图形程序

标签 c

我想编写一段代码,在其中我想知道从一个点移动到另一个点需要多少时间。

输入

1) 第一行(输入)显示到达所需的最长时间

2) 第二行(第二个和第三个输入)显示初始位置。

3)第三行(第四和第五输入)显示最终位置。

4)第四行显示左、右、上、下走一步所需的时间。

输出一个整数表示需要到达的时间,如果不能及时到达则输出一个字符串Valar Codulis。在换行符上输出每个测试用例的答案。

但是我的程序不是这样运行的。为什么?

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

int main()
{
    int c, d, e, f, b;
    scanf("%d", &b);
    printf("\n");
    scanf("%d", &c);
    scanf("%d", &d);
    printf("\n");
    scanf("%d", &e);
    scanf("%d", &f);
    printf("\n");
    int g, h, i, j;
    scanf("%d", &g);
    scanf("%d", &h);
    scanf("%d", &i);
    scanf("%d", &j);

    int k, l, m, n, o;
    e - c == k;
    f - d == l;
    if (e - c >= 0, f - d >= 0)
    {
        m = k*h;
        n = l*i;
    }
    else if (e - c <= 0, f - d >= 0)
    {
        m = k*g;
        n = l*i;
    }
    else if (k >= 0, l <= 0)
    {
        m = k*h;
        n = l*j;
    }
    else
    {
        m = k*g;
        n = l*j;
    }
    o = m + n;
    if (b >= o)
    {
        printf("\n %d", o);
    }
    else
    {
        printf("Valar Codulis");
    }
}

注意:我是初学者。

最佳答案

e - c == k;

这行代码没有任何作用。它检查e - c 的值是否等于k 的值,但不对检查结果执行任何操作。

如果您想为k分配一个值,请使用k = e - c。同样,l = f - d。

if (e - c >= 0, f - d >= 0) 应为 if (e - c >= 0 && f - d >= 0)if 语句的多个条件不能使用逗号连接。逻辑运算符 && 表示 'and'

关于c - C 中的图形程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46129661/

相关文章:

c - 对于作业,我必须比较两个日期,使用 C 中的结构。我不确定我的逻辑是否错误

c - strtok - 如何避免换行并放入字符串数组?

c++ - 错误: 'ALIGN' undeclared (first use in this function) with ALIGN defined into macro

c - 如果使用函数,编译器会发出警告

c - 将二维数组从 Julia 传递到 Fortran

在链接过程中可以解析库之间的弱符号吗?

c - DIR 变量的存储大小未知

c - 删除用户输入并释放内存

c++ - 从 C 中的函数返回 {0}?

c - 汇编语言到 C 问题与寄存器