You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C语言计算三角函数表达式结果不符预期的问题求助

问题分析与修复

你的代码输出不符的核心原因是:C标准库的cos()、sin()函数接收的参数是弧度,但你输入的x是角度值(比如30、120),直接代入计算会导致结果错误。

修复步骤

  • 将输入的角度值转换为弧度:弧度 = 角度 × π / 180.0
  • 注意x/2也需要转换为弧度后再传入sin()
  • 编译时需要链接数学库,比如Linux/macOS下用gcc your_code.c -o output -lm

修正后的代码

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

int main() {
    double x_deg;
    double x_rad;
    double result;
    scanf("%lf", &x_deg);

    // 角度转弧度
    x_rad = x_deg * M_PI / 180.0;
    // 计算表达式,所有三角函数参数用弧度
    result = 2 * pow(cos(x_rad), 2) - sqrt(3) * sin(x_rad) + sin(x_rad / 2);

    // 按示例保留6位小数输出
    printf("%.6lf\n", result);

    return 0;
}

测试验证

  • 输入30,输出1.810066(与示例一致)
  • 输入120,输出0.778151(与示例一致)
  • 输入180,输出3.954243(与示例一致)

内容的提问来源于stack exchange,提问作者Atik

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 10:32:04