使用C语言编写一个程序,当你从键盘上输入sin、cos或tan和角度时,就会求出正弦、余弦、正切的数值。
时间: 2024-11-24 14:43:44 浏览: 31
这个程序的目的是在C语言环境中接收用户的输入,根据用户选择的三角函数(sin, cos, tan)和提供的角度,计算并输出相应的三角函数值。下面是简单的实现步骤:
1. 定义一个主函数`main()`,声明必要的变量如角度值和函数名字符串。
2. 提示用户输入三角函数名,例如使用`printf`函数。
3. 使用`fgets`函数从键盘读取用户输入,并去掉末尾的换行符。
4. 对输入进行检查,确认是否为"sin", "cos", 或 "tan"之一。
5. 根据用户输入调用适当的数学函数(如`sin`, `cos`, 或 `tan`),计算结果。
6. 输出计算结果到屏幕上。
以下是一个简化版的示例代码片段:
```c
#include <stdio.h>
#include <math.h>
// 自定义字符串比较函数,这里假设其功能类似strcmp
int custom_strcmp(const char *str1, const char *str2) {
while (*str1 && *str1 == *str2) {
str1++;
str2++;
}
return (*str1 > *str2 ? 1 : (*str1 < *str2 ? -1 : 0));
}
int main() {
char trigFunction[5];
double angle;
printf("请输入三角函数(sin/cos/tan): ");
fgets(trigFunction, sizeof(trigFunction), stdin);
trigFunction[strcspn(trigFunction, "\n")] = '\0'; // 移除换行符
printf("请输入角度: ");
scanf("%lf", &angle);
if (custom_strcmp(trigFunction, "sin") == 0) {
double result = sin(angle);
printf("正弦值: %.6f\n", result);
} else if (custom_strcmp(trigFunction, "cos") == 0) {
double result = cos(angle);
printf("余弦值: %.6f\n", result);
} else if (custom_strcmp(trigFunction, "tan") == 0) {
double result = tan(angle);
printf("正切值: %.6f\n", result);
} else {
printf("无效的函数选择。\n");
}
return 0;
}
```
请注意,上述代码中自定义的`custom_strcmp`函数只是一个简化的例子,实际应用中可能需要更严谨的字符串处理方法,比如使用`strcmp`或`strcasecmp`等标准库函数。同时,为了防止输入非法字符,可以在读取角度前增加额外的验证步骤。
阅读全文