c语言实现ctg函数的简单介绍

编写C语言程序求35度角的正弦余弦正切余切#include stdio.h
#include math.h
#define PI 3.1415
void main()
{
double var, sinRes, cosRes, tagRes, ctgRes;
var = 35*PI/180;
sinRes = sin(var);
cosRes = cos(var);
tagRes = sin(var)/cos(var);
ctgRes = cos(var)/sin(var);
printf("sin: %.2lf\n", sinRes);
printf("cos: %.2lf\n", cosRes);
printf("tag: %.2lf\n", tagRes);
printf("ctg: %.2lf\n", ctgRes);
}
//测试结果:
求助!!用c语言编一个科学计算器.. 要求有点复杂#include iostream
#include cstdlib
#include cctype
#include cstring
using namespace std;
enum types { DELIMITER = 1, VARIABLE, NUMBER};//定义枚举类型把DELIMITER初试化为1后面
//c语言实现ctg函数的相应的是前面值 1
class Info
{
public:
void displayInfo();
};
class parser
{
char *exp_ptr;// 定义一个指向表达式的指针
char token[80]; // 存储表达式中的字符变量
char tok_type;// 存储具体是什么类型
void eval_exp2(double result);
void eval_exp3(double result);
void eval_exp4(double result);
void eval_exp5(double result);
void eval_exp6(double result);
void atom(double result);
void get_token();
void serror(int error);
int isdelim(char c);
public:
parser();//类的构照函数
double eval_exp(char *exp);
};
void Info::displayInfo()
{
cout"==============================================================\n";
cout"====================这是一个计算器程序========================\n";
cout"==============================================================\n";
cout"* 说明c语言实现ctg函数:可以进行- * \ % ^ 操作您还可以用括号输入您的表达式 *\n";
cout"* 您输入表达式不需要输=号例c语言实现ctg函数:您可输入(6 7)*5\\7 4 然后回车 *\n";
cout"==============================================================\n\n";
cout"\t\t输入点号(.)回车c语言实现ctg函数,结束程序运行\n\n";
}
// 类构造函数的具体实现
parser::parser()
{
exp_ptr = NULL;//把exp_ptr的指针初始化为空
}
// 方法eval_exp的具体实现过程
double parser::eval_exp(char *exp)
{
double result;
exp_ptr = exp;//把传递过来的参数exp赋给exp_ptr
get_token();
if(!*token)
{
serror(2); //输出没有任何表达式的错误信息
return 0.0;
}
eval_exp2(result);
if(*token) serror(0); // last token must be null
return result;
}
// 两个变量字符是加或者减操作
void parser::eval_exp2(double result)
{
register char op;
double temp;
eval_exp3(result);
while((op = *token) == ' ' || op == '-')
{
get_token();
eval_exp3(temp);
switch(op)
{
case '-':
result = result - temp;
break;
case ' ':
result = resulttemp;
break;
}
}
}
// 两个变量是乘或者除操作 或者是取余
void parser::eval_exp3(double result)
{
register char op;
double temp;
eval_exp4(result);
while((op = *token) == '*' || op == '/' || op == '%')
{
get_token();
eval_exp4(temp);
switch(op)
{
case '*':
result = result * temp;
break;
case '/':
result = result / temp;
break;
case '%':
result = (int) result % (int) temp;
break;
}
}
}
// 进行^运算
void parser::eval_exp4(double result)
{
double temp, ex;
register int t;
eval_exp5(result);
if(*token== '^')
{
get_token();
eval_exp4(temp);
ex = result;
if(temp==0.0)
{
result = 1.0;
return;
}
for(t=(int)temp-1; t0; --t) result = result * (double)ex;
}
}
void parser::eval_exp5(double result)
{
register charop;
op = 0;
if((tok_type == DELIMITER)*token==' ' || *token == '-')
{
op = *token;
get_token();
}
eval_exp6(result);
if(op=='-') result = -result;
}
// 进行有括号的算法
void parser::eval_exp6(double result)
{
if((*token == '('))
{
get_token();
eval_exp2(result);
if(*token != ')')
serror(1);
get_token();
}
else atom(result);
}
// 取得数值
void parser::atom(double result)
{
switch(tok_type)
{
case NUMBER:
result = atof(token);
get_token();
return;
default:
serror(0);
}
}
// 输出出错信息.
void parser::serror(int error)
{
static char *e[]=
{
"语法错误",
"不对称的括号",
"您没有输入任何的表达式!"
};
coute[error]endl;
}
// 取得下一个token值
void parser::get_token()
{
register char *temp;
tok_type = 0;
temp = token;
*temp = '\0';
if(!*exp_ptr) return; // 如果到表达式末尾则返回
while(isspace(*exp_ptr))exp_ptr; //
if(strchr(" -*/%^=()", *exp_ptr))
{//用strchr函数在字符串" -*/%^=()"中查找*exp_ptr指向的字符所在位置,判断返回值(非0为真就执行)以便是否执行以下语句
tok_type = DELIMITER;//把tok_type置为DELIMITER
// advance to next char
*temp= *exp_ptr;
}
else if(isalpha(*exp_ptr))
{
while(!isdelim(*exp_ptr)) *temp= *exp_ptr; //isdelim判断是否是分隔符 , 当*exp_ptr指向的字符不为分隔符时把值负给*temp
tok_type = VARIABLE;//把tok_type置为VARIABLE
}
else if(isdigit(*exp_ptr))
{ // isdigit判断*exp_ptr指向的字符是否为数字
while(!isdelim(*exp_ptr)) *temp= *exp_ptr;
tok_type = NUMBER;
}
*temp = '\0';
}
// isdelim函数的具体实现 , 如果参数是一个分割符则返回真
int parser::isdelim(char c)
{
【c语言实现ctg函数的简单介绍】if(strchr("-/*%^=()", c) || c==9 || c=='\r' || c==0)//把" -/*%^=()09\r定义非分隔符
return 1;
return 0;
}
int main()
{
char expstr[80];
Info prgInfo;
parser ob; // 创建一个parser类型的实例
prgInfo.displayInfo();
for(;;)
{
cout"请输入c语言实现ctg函数你要计算的表达式: ";
cin.getline(expstr, 79);//读入表达式到名为expstr的数组中 , 数组大小为79
if(*expstr=='.') break;
cout"计数的结果是: "ob.eval_exp(expstr)"\n\n";
};
return 0;
}
c语言编写counter函数计算及格率?下面是一个简单c语言实现ctg函数的 C 语言函数c语言实现ctg函数,可以用于计算及格率 。
```c
#include stdio.h
float counter(int arr[], int n) {
int pass = 0;// 及格人数
int total = 0;// 总人数
for (int i = 0; in; i) {
if (arr[i] = 60) { // 判断是否及格
pass;
}
total;
}
float rate = (float)pass / total; // 计算及格率
return rate;
}
int main() {
int scores[] = {70, 85, 50, 60, 90};
int n = sizeof(scores) / sizeof(scores[0]);
float pass_rate = counter(scores, n);
printf("Pass rate: %.2f%%\n", pass_rate * 100);
return 0;
}
```
在上述代码中,`counter` 函数接受一个整型数组和数组大小作为参数,用于计算及格率 。函数中使用两个变量 `pass` 和 `total` 来分别记录及格人数和总人数 。然后,遍历整个数组,对每一个成绩判断是否及格,最后计算及格率并返回 。在 `main` 函数中,c语言实现ctg函数我们定义了一个整型数组 `scores` 和数组大小 `n`,然后调用 `counter` 函数来计算及格率 。最后,c语言实现ctg函数我们通过 `printf` 函数输出计算结果 。
请注意 , 在计算及格率时,需要将及格人数和总人数转换成浮点数,以免整数除法带来的误差 。在输出结果时,可以使用 `printf` 函数的格式化字符串来控制输出格式 。例如 , `%.2f%%` 表示输出一个浮点数并保留两位小数,最后再加上一个百分号表示输出一个百分数 。
这只是一个简单的示例,实际使用中可能需要根据具体情况进行修改和优化 。
c语言中的函数问题,帮帮忙/*解一元二次方程*/
#includestdio.h
#includemath.h
void main()
{
int a,b,c,i=1;
float x1,x2,dlt;
do
{
printf("Please input three numbers:");
scanf("%d%d%d",a,b,c);
do
{i;
if(a==0)
{
printf("Input error.Please input again:");
scanf("%d%d%d",a,b,c);
}
else
{
dlt=b*b-4*a*c;
if(dlt0)
printf("该方程无实根 。\n\n");
else
{
x1=(-1*b sqrt(dlt))/(2*a);
x2=(-1*b-sqrt(dlt))/(2*a);
}
}
}while(a==0);
if(dlt0)
printf("");
else
printf("x1=%f\nx2=%f\n\n",x1,x2);
}while(i=3); /*循环三次*/
}
一定要用函数吗?这个没必要用函数,用函数还更复杂 。一定要的话,自己稍微改一改就行了!
C语言分段函数怎么写当x0且 x≠3 时y=x*xx-6
当 0=x0且x≠2及x≠3时y=x*2-5x 6
当 x=其他时y=x*2-x-1
请问楼主,这是怎么分段的?当x0且 x≠3?x0还用且x不等于3吗?0=x0?什么数不但大于等于0而且小于0?
#includestdio.h
#includemath.h
void main()
{
float x,y;
scanf("%f",x);
if(x0x!=3)
y=x*x (x-6);
else if(x=0x!=2x!=3)
y=x*x-(5*x) 6;
else
y=x*x-x-1;
printf("%f",y);
}
关于c语言实现ctg函数和的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息 , 记得收藏关注本站 。

    推荐阅读