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

C语言打印0~90度正弦值表结果错误,如何修改代码?

C语言正弦表计算错误修复方案

错误原因

C语言math.h库提供的sin()函数要求输入参数为弧度值,你当前代码直接传入角度值参与计算,所以输出结果和标准正弦表不符。

修复方法

需要先把角度值转换为弧度值再传入sin()函数,转换公式为:弧度 = 角度 * π / 180.0

兼容通用编译环境的修改后代码

#include <stdio.h>
#include <math.h>
// 手动定义精度足够的π常量,避免部分环境不支持M_PI的问题
#define PI 3.14159265358979323846

int main()
{
    double i = 0;
    printf("SINE TABLE :\n\n");
    while(i <= 90){
        printf("sin(%.0lf)=%lf\n", i, sin(i * PI / 180.0));
        i += 15;
    }
    return 0;
}

如果你使用的编译环境支持M_PI宏,可以用以下简化写法

注意部分Windows平台编译器需要先定义_USE_MATH_DEFINES宏才能启用M_PI:

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

int main()
{
    double i = 0;
    printf("SINE TABLE :\n\n");
    while(i <= 90){
        printf("sin(%.0lf)=%lf\n", i, sin(i * M_PI / 180.0));
        i += 15;
    }
    return 0;
}

修改后运行代码即可输出你预期的正确正弦值表。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 23:21:02