无限好 发表于 2024-11-3 11:28:58

想要向上取整,然后取整的数加入下一个运算中

#include<stdio.h>
#include<math.h>
int main()
{
        int a,e;
        float num;
        scanf("%2f",&num);
        double a=ceil(num);
        e=(a-1)+25;
        printf("%d",&a);
       
       
       
       
}

FishC 发表于 2024-11-3 11:29:06

你的代码有几个问题需要修正:

1. 头文件 `#include` 和 `#include` 后面缺少具体的库名。
2. 变量 `a` 被重复定义。
3. `scanf` 和 `printf` 的用法有误。
4. `ceil` 函数需要包含 `math.h` 头文件。

以下是修正后的代码:

#include <stdio.h>
#include <math.h>

int main() {
    int e;
    float num;
    scanf("%f", &num);
    int a = ceil(num);
    e = (a - 1) + 25;
    printf("%d
", a);
    return 0;
}

### 主要修改点:

- `#include <stdio.h>` 和 `#include <math.h>`:添加了具体的库名。
- `scanf("%f", &num);`:修正了格式说明符,去掉了`%2f`中的`2`。
- `int a = ceil(num);`:修正了变量定义,确保`a`只定义一次。
- `printf("%d
", a);`:修正了`printf`的用法,去掉了`&`符号。

这样修改后,程序可以正确地读取一个浮点数,向上取整,并进行后续运算。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。

jackz007 发表于 2024-11-3 16:23:09

#include<stdio.h>

int ceil(double x)
{
      int d = (int) x         ;
      if(x > 0 && d < x) d += 1 ;
      return d                  ;
}

int main(void)
{
      int a , e               ;
      float num               ;
      scanf("%f" , & num)       ;
      a = ceil(num)             ;
      printf("a = %d\n" , a)    ;
      e = (a - 1) + 25          ;
      printf("e = %d\n" , e)    ;
}
页: [1]
查看完整版本: 想要向上取整,然后取整的数加入下一个运算中