精华内容
下载资源
问答
  • 由于程序中调用其他 的函数,不便与修改!故程序实现代码很是杂乱(当然,也有技术问题~~),但这不要紧,最主要是 明白了思路,然后你可以通过你自己方法来实现!!// } } y=1;t=0; } while(l->tou->next) { ...

    编译环境VS2010

    #include "stdafx.h"

    #include "stdlib.h"

    #define M 100

    int max;

    typedef struct node

    {

    int S_J;

    struct node *next;

    struct node *tou;

    struct node *wei;

    }list;                              //队列结构

    void chushihua(list *l)            //初始化

    {

    l->wei=(list *)malloc(sizeof(list));

    if(l->wei==NULL) exit(0);

    l->tou=l->wei;

    }

    int pankong(list *l)                     //判空

    {

    if(l->tou->next==NULL)

    {

    printf("队列为空!请插入元素!\n");

    return 1;

    }

    return 0;

    }

    void rudui(list *l,int w)                    //入队

    {

    list *p=(list *)malloc(sizeof(list));

    if(p==NULL) exit(0);

    p->S_J=w;

    p->next=NULL;

    l->wei->next=p;

    l->wei=p;

    }

    void duitou(list *l)                           //取队头元素

    {

    if(pankong(l))

    {

    return ;

    }

    printf("出队元素为:%d\n",l->tou->next->S_J);

    l->tou->next=l->tou->next->next;

    if(l->tou->next==NULL)    //当队列为空的时候,从新初始化,否则不能插入元素

    l->wei=l->tou;

    }

    void chadui(list *l)                             //查看队列

    {

    list *p=l->tou->next;                      //定义临时变量,防止破坏原队列

    while(p)

    {

    printf("%d->",p->S_J);

    p=p->next;

    }

    printf("END\n");

    }

    void yanhui(int w)

    {

    //数组:

    M=w;

    int a[M][M],i,j;

    for(i=0;i

    {

    for(j=M;j>=i;j--)

    printf("  ");

    for(j=0;j<=i;j++)

    {

    if(i==j||j==0)

    a[i][j]=1;

    else

    a[i][j]=a[i-1][j]+a[i-1][j-1];

    printf("= ",a[i][j]);

    if(i==j)

    printf("\n");

    }*/

    ///*上面采用的是数组的方法输出杨辉三角!较为简单,所以就不注释了!下面将采用队列的方法来实现杨辉三角!

    // 相比前一种方法更节省内存空间,但同时也复杂很多!(没办法!老师要求用队列啊!)

    //链表队列:

    int i;int j;int k;int y=1;int n=0,t=0;     //都是控制流程的变量,没有必要纠结于此!

    list *p=(list *)malloc(sizeof(list));

    list *l=(list *)malloc(sizeof(list));

    list *f=(list *)malloc(sizeof(list));     //p、l为中间链表;f是我们所要的链表!

    chushihua(p);

    chushihua(l);

    chushihua(f);                             //初始化

    list *s=p;

    for(i=1;i<=w;i++)

    {

    for(j=1;j<=i;j++)                         //与数组形式差不多!

    {

    if(j==1||i==j)

    rudui(p,1);                      //每行的头、尾都为1,入对列

    else                                  //不是行头尾时

    {

    if(y==2)                        //本行之内出对,使队头后移一位

    {

    rudui(l,s->tou->next->S_J);

    s->tou->next=s->tou->next->next;

    n++;

    }

    if(y==1)                        //从上一行出对,使得队头移到到本行

    {

    for(k=1;k<=(i-2)*(i-2+1)/2-n;k++)   //(i(i-2)*(i-2+1)/2-n 表示所需出对的次数,

    {   rudui(l,s->tou->next->S_J);      //使得队头移动到本行开头!

    s->tou->next=s->tou->next->next;

    t++;

    }

    y=2;n=n+t;

    }

    rudui(p,s->tou->next->S_J+s->tou->next->next->S_J);

    //以上为核心算法,看上去有点复杂,但如果告诉你算法的思想,你大概就能明白了!

    首先:杨辉三角的特点是第N行的中间值等于N-1行两值的和(有点不标准,但你应该明白意思~~)

    所以,我们要解决的是如何使队头定位到第N-1

    明白了思路,我们就来实现:

    首先,用链表p(s也一样)保存当前入队的值

    然后,定位到N-1行,因为队列采用的是单进单出,所以我们只能依次取队头元素让队头指向到N-1

    为止,并把取出的队头元素入l这个临时的队列

    最后,由于队头已经移到了N-1行,所以在第N行的中间值就可以通过N-1两数和入队了!

    由于p为当前队列,而l出对元素组成的队列,所以只要把l与p连接起来,就可以获取杨辉三角的链表了!

    PS:最好对着杨辉三角图形来看更容易理解,本程序的就是根据这个思路来完成的!由于程序中调用其他

    的函数,不便与修改!故程序实现的代码很是杂乱(当然,也有技术问题~~),但这不要紧,最主要是

    明白了思路,然后你可以通过你自己的方法来实现!!//

    }

    }

    y=1;t=0;

    }

    while(l->tou->next)

    {

    rudui(f,l->tou->next->S_J);

    l->tou->next=l->tou->next->next;

    }

    while(p->tou->next)

    {

    rudui(f,p->tou->next->S_J);

    p->tou->next=p->tou->next->next;

    }                            //以上用f接受l与p的元素,至此杨辉三角队列完成!

    printf("线性输出为:\n");

    chadui(f);

    printf("金字塔输出效果:\n");

    for(i=0;i

    {

    for(j=w;j>=i;j--)

    printf("  ");

    for(j=0;j<=i;j++)

    {

    printf("= ",f->tou->next->S_J);

    f->tou->next=f->tou->next->next;

    if(i==j)

    printf("\n");

    }

    }

    free(l);

    free(p);

    free(f);

    }

    int _tmain(int argc, _TCHAR* argv[])

    {

    list p;

    int cd;

    int i;

    int XZ;

    int sr;

    int yh;

    chushihua(&p);

    printf("请输入队列长度:");

    scanf("%d",&max);

    for(i=1;i<=max;i++)

    {

    printf("请输入第%d数据:",i);

    scanf("%d",&cd);

    rudui(&p,cd);

    }

    while(1)

    {

    printf("\t请选择以下操作:\n");

    printf("\t1、查看队列!\n");

    printf("\t2、入对!\n");

    printf("\t3、出对!\n");

    printf("\t4、杨辉三角!\n");

    printf("\t5、退出 !\n");

    fflush(stdin);

    scanf("%d",&XZ);

    switch(XZ)

    {

    case 1:

    {

    chadui(&p);

    }break;

    case 2:

    {

    printf("请输入进队元素:");

    scanf("%d",&sr);

    rudui(&p,sr);

    printf("进对成功!\n");

    }break;

    case 3:

    {

    duitou(&p);

    }break;

    case 4:

    {

    printf("提示:程序会采用金字塔输出!为了保证输出效果,行数建议不要大于15!\n");

    printf("请输入行数:");

    scanf("%d",&yh);

    yanhui(yh);

    }break;

    case 5:goto la;

    default:

    printf("请确认输出!\n");

    }

    }

    la:

    return 0;

    }

    展开全文
  • (27)编写积分函数求任意函数的积分,并用写好的函数,求三角函数与幂指数的定积分。可参看上机指导书P135 E7.2 书上使用的是矩形积分,可以尝试用梯形积分。同时改变n的取值看对积分函数值的影响,体会高数中积分...

    题目来源:大工慕课 链接
    作者:Caleb Sung

    题目要求

    (27)编写积分函数求任意函数的积分,并用写好的函数,求三角函数与幂指数的定积分。可参看上机指导书P135 E7.2 书上使用的是矩形积分,可以尝试用梯形积分。同时改变n的取值看对积分函数值的影响,体会高数中积分的定义。如果参考上机指导书,书上函数中for(i=0;i<=n;i++),这一行写错了,大家可以作为一个改错练习。 开始可让 ac=0,bc=3.1415926,算三角函数的积分,看函数是否编写正确。

    题目代码

    #include<stdio.h>
    #include <math.h>
    int main()
    {
        int n=1000;
        double ac=-1,bc=1,ae=0,be=2,c,(*p)();
        /*double ac=0,bc=3.1415926,ae=0,be=2,c,(*p)();*/
        double jiff();
        p=cos;
        c=jiff(ac,bc,n,p);
        printf("the definite integral of cosx -1 to 1 is: %f\n",c);
        p=exp;
        c=jiff(ae,be,n,p);
        printf("the definite integral of exp 0 to 2 is:%f\n",c);
        return 0;
    }
    double jiff(double a,double b, int n, double (*p)())
    {
        //******begin************************
    
        //*******end*************************
    }

    参考解答

    可参考之前我写的同类试题参考解答:
    https://blog.csdn.net/qq_41933331/article/details/80256500

    double jiff(double a,double b, int n, double (*p)())
    {
        //******begin************************
        double ha, hb, result=0;
        int i;
        for(i=0; i<n; i++){
            ha = p(a+i*(b-a)/n);
            hb = p(a+(i+1)*(b-a)/n);
            result += ((ha + hb)*(b-a)/n)/2.0;
        }
        return result;
        //*******end*************************
    }

    运行结果

    the definite integral of cosx -1 to 1 is: 1.682941
    the definite integral of exp 0 to 2 is6.389058
    
    展开全文
  • 返回:贺老师课程教学链接 C语言及程序设计初步 C语言的数学库函数提供了大多数常用的数学功能。使用下面的函数,要求...额外提示,三角函数的角,用弧度为单位例如:78度角的正弦值并输出,用下面的程序段double

    返回:贺老师课程教学链接  C语言及程序设计初步  


    C语言的数学库函数提供了大多数常用的数学功能。
    使用下面的函数,要求程序前写预处理命令:
    #include<math.h>
    以sin函数为例,说明其用法。
    "double sin(double);意味着参数应该提供一个double型数据,其求值结果,也是一个double型的值。额外提示,三角函数的角,用弧度为单位
    例如:求78度角的正弦值并输出,用下面的程序段
    double v;
    v = sin(78.0/180*3.1345926);
    printf("%f\n", v); 

    下面是这些函数的分类清单:
    1、 三角函数
    double sin(double);正弦
    double cos(double);余弦
    double tan(double);正切
    2 、反三角函数
    double asin (double); 结果介于[-PI/2,PI/2]
    double acos (double); 结果介于[0,PI]
    double atan (double); 反正切(主值),结果介于[-PI/2,PI/2]
    double atan2 (double,double); 反正切(整圆值),结果介于[-PI,PI]
    3 、双曲三角函数
    double sinh (double);
    double cosh (double);
    double tanh (double);
    4 、指数与对数
    double frexp(double value,int *exp);这是一个将value值拆分成小数部分f和(以2为底的)指数部分exp,并返回小数部分f,即f*2^exp。其中f取值在0.5~1.0范围或者0。
    double ldexp(double x,int exp);这个函数刚好跟上面那个frexp函数功能相反,它的返回值是x*2^exp
    double modf(double value,double *iptr);拆分value值,返回它的小数部分,iptr指向整数部分。
    double log (double); 以e为底的对数
    double log10 (double);以10为底的对数
    double pow(double x,double y);计算x的y次幂
    float powf(float x,float y); 功能与pow一致,只是输入与输出皆为浮点数
    double exp (double);求取自然数e的幂
    double sqrt (double);开平方
    5 、取整
    double ceil (double); 取上整,返回不比x小的最小整数
    double floor (double); 取下整,返回不比x大的最大整数,即高斯函数[x]
    6 、绝对值
    int abs(int i); 求整型的绝对值
    double fabs (double);求实型的绝对值
    double cabs(struct complex znum);求复数的绝对值
    7 、标准化浮点数
    double frexp (double f,int *p); 标准化浮点数,f = x * 2^p,已知f求x,p (x介于[0.5,1])
    double ldexp (double x,int p); 与frexp相反,已知x,p求f
    8 、取整与取余
    double modf (double,double*); 将参数的整数部分通过指针回传,返回小数部分
    double fmod (double,double); 返回两参数相除的余数
    9 、其他
    double hypot(double x,double y);已知直角三角形两个直角边长度,求斜边长度
    double ldexp(double x,int exponent);计算x*(2的exponent次幂)
    double poly(double x,int degree,double coeffs []);计算多项式
    int matherr(struct exception *e);数学错误计算处理程序

    展开全文
  • C语言 判断三角形类型

    千次阅读 2020-06-25 00:30:43
    文章目录问题描述思想...面积要用到海伦公式 代码展示 #include<stdio.h> #include<math.h>//因为要用到sqrt根号这个函数所以要引用这个头文件 int main() { float a,b,c;//用来储存三角形三边

    问题描述

    根据输入的三角形的三条边判断三角形的类型,并输出他的面积和类型

    思想简述

    首先分析三角形的类型

    三角形
    等腰三角形
    直角三角形
    普通三角形
    等边三角形
    等腰直角三角形

    看程序框图分支部分要用if语句来操作
    求面积要用到的海伦公式
    在这里插入图片描述

    代码展示

    #include<stdio.h>
    #include<math.h>//因为要用到sqrt根号这个函数所以要引用这个头文件 
    int main()
    {
    	float a,b,c;//用来储存三角形三边的信息
    	float p;//计算面积用到海伦公式的变量 
    	float s;//储存面积的变量 
    	printf("请输入三角形三边信息");
    	scanf("%f%f%f",&a,&b,&c);
    	if(a+b>c||a+c>b||b+c>a)//满足两边之和大于第三边 
              {  printf("这三条边可以组成三角形\n");
                 p=(a+b+c)/2;//海伦公式计算三角形面积 
                 s=sqrt(p*(p-a)*(p-b)*(p-c));
                 printf("三角形的面积是%f\n",s);//输出三角形面积 
                  //判断三角形的类型 
    			   if(a==b||a==c||b==c)//等腰三角形和等腰直角三角形 
    			     { 
    				   if(a*a+b*b==c*c||a*a+c*c==b*b||b*b+c*c==a*a)
    				      printf("是等腰直角三角形");
    				   else if(a==b&&b==c)//注意这里不是a==b==c 
    			          printf("是等边三角形");
    				   else
    				      printf("是等腰三角形"); 
    				 }
    			   else if(a*a+b*b==c*c||a*a+c*c==b*b||b*b+c*c==a*a)
    			          printf("是直角三角形");
    			   else
    			     printf("是普通三角形");
    			    
    			 
    		  }	 
    	else  //不满足两边之和大于第三边的不是三角形  
    	{ printf("这三条边不能组成三角形");
    	 } 
    }
    

    运行结果

    在这里插入图片描述

    展开全文
  • 简单的求三角函数sin,cos图像

    万次阅读 2018-07-29 20:18:22
    作为一个刚刚学习C语言十来天的小白,...cos图像的程序如下 #include &lt;stdio.h&gt; #include &lt;math.h&gt; int main() {  double y;  int x,m;  for(y = 1;y &gt;= -1;y -= 0.2) //...
  • 矩阵最值2.c”程序,编写函数,给定一个4x4数组,上半三角元素(包括主对角元)之和,以及最小元素所在行和列。比如 a[4][4]={11,12,13,14,21,22,23,24,31,32,33,34,41,42,43,44},上半三角元素位11,12,13,14,22,...
  • 一、交换程序 1、int、double、char型数据交换; 2、字符串交换; 3、数组元素 A[i]、A[j]交换; 4、结构体变量交换 5、指针数据交换 以上交换用函数怎样实现? 二、条件语句 1、奇偶判断 2、a\b\c能否...
  • 所以本题一是考察考查海伦公式,一是考察开平方函数的用法。 参考程序: #include<stdio.h> #include "math.h" #define PI 3.1415926 int main(void) { double a,b,c,d,s; ...
  • 这篇博文记录一下C语言中常用一个数学函数库,里面涵盖了常用数学运算,包括对实数及虚数运算,如绝对值、三角函数、两数中最大数等。使用时在程序开始处加入: #include <math.h> 库中函数用法都...
  • 【实验目的】 ... 1、输入x,分段函数的值(569) 2、三角形判断(559) 3、输入月份1-12,输出其对应的季节.(566) 4、输入一个整数,判断它能否被5,7整除,并输出该数对应的类型(1168...
  • 1、理解函数的功能 2、熟练掌握函数的定义、声明和调用方法; 1、(基础题)根据海伦公式由三角形的三边长度a、b、c可以计算三角形面积 ,公式为:,其中:。请根据下列要求编写程序: 2、(基础题)定义一个将十...
  • c语言代码程序

    2013-11-19 21:07:12
    打印出杨辉三角形 学习putpixel画点 画椭圆ellipse 利用ellipse and rectangle利用ellipse and rectangle 一个最优美图案 ...写一个函数一个字符串长度,在main函数中输入字符串,并输出其长度
  • 练习2-3 输出倒三角图案 (5 分)本题要求编写程序,输出指定由“*”组成三角图案。输入格式:本题目没有输入。输出格式:按照下列格式输出由“*”组成三角图案。* * * ** * ** **#include "stdio.h"main(){...
  • 学习C语言程序开发范例 实例015 绘制余弦曲线 编程实现用“ * ”绘制余弦曲线 ... //本程序中反三角函数的计算用到标准库中的math.h文件 main() { double y; /*此时y为浮点型,提高计算精度*/ int x, m; fo
  • 五十八、三角函数公式 43 五十九、空间解析几何和向量代数: 44 六十、多元微积分 44 六十一、多元函数微分法及应用 47 六十二、微分法在几何上应用: 48 六十三、级数: 49 六十四、微分方程: 52 六十五、数学...
  • rand()函数会产生范围0-32767随机数,%让它于4余,变成0-5随机数,不过每次启动程序启动程序产生随机数都相等。 解题思路:使用循环语句遍历数组元素,第一个循环用于控制行坐标,第2个循环用于控制列下标。...
  • 顺序程序设计[02]3.3 C语言语句3.3.1 控制语句3.3.2 函数调用语句3.3.3 表达式语句3.3.4 空语句3.3.5 复合语句3.3.6 赋值语句3.4 数据输入输出3.4.1 用printf函数输出数据3.4.2 用scanf函数输入数据3.5 举例3.5.1 ...
  • 第14章 特殊函数的计算 14.1 伽马函数 14.2 不完全伽马函数 14.3 误差函数 14.4 第一类整数阶贝塞尔函数 14.5 第二类整数阶贝塞尔函数 14.6 变形第一类整数阶贝塞尔函数 14.7 变形第二类整数阶贝塞尔函数 14.8 不...
  • 实例93 求三角函数的值 261 实例94 矩阵中的最大值与最小值 263 实例95 利用指针排列数 265 实例96 阶乘倒数之和 267 实例97 孪生素数 268 实例98 打印图案 270 实例99 大小写字母的互换 272 实例100 整数...
  • 练习2-3 输出倒三角图案 (5分),练习2-4 温度转换 (5分),练习2-6 计算物体自由下落距离 (5分),练习2-8 计算摄氏温度 (10分),练习2-9 整数四则运算 (10分),练习2-10 计算分段函数[1] (10分),练习2-12 输出华氏...
  • 用算法程序集(C语言描述)(第三版)+源代码 第1章 多项式计算 1.1 一维多项式值 1.2 一维多项式多组值 1.3 二维多项式值 1.4 复系数多项式值 1.5 多项式相乘 1.6 复系数多项式相乘 1.7 多项式相除 1.8 ...
  • 返回:贺老师课程教学链接 【项目1:被3或者5整除的数】编程序,输入一个数,判断它能否被3或者被5...[参考解答]【项目3:两段函数值】编程序,计算下面函数的值并输出(x取整型即可)[参考解答]【项目4:三角公式
  • 用算法程序集(C语言描述)(第三版)+源代码 第1章 多项式计算 1.1 一维多项式值 1.2 一维多项式多组值 1.3 二维多项式值 1.4 复系数多项式值 1.5 多项式相乘 1.6 复系数多项式相乘 1.7 多项式相除 1.8 ...
  • 习题5-7 使用函数余弦函数的近似值 使用函数输出指定范围内的Fibonacci数 编程题 练习3-5 输出闰年 习题3-2 高速公路超速处罚 习题3-3 出租车计价 习题3-5 三角形判断 习题4-3 分数序列前N项和
  • 你必须知道495个C语言问题

    千次下载 热门讨论 2015-05-08 11:09:25
    当我向p[i]赋值的时候,我的程序崩溃了。 1.35 chara{[3]}="abc";是否合法? 1.36 我总算弄清楚函数指针的声明方法了,但怎样才能初始化呢? 1.37 能够初始化联合吗? 第2章 结构、联合和枚举 结构声明 ...

空空如也

空空如也

1 2 3 4 5
收藏数 88
精华内容 35
关键字:

c语言求三角函数的程序

c语言 订阅