c语言

C语言函数——常用数学函数

依然范特西╮ 提交于 2020-02-16 21:30:05
C语言的数学函数所在函数库为math.h、stdlio.h、string.h、float.h,使用的时候需要引入。下面是函数及其作用。 int abs(int i) 返回整型参数i的绝对值 double cabs(struct complex znum) 返回复数znum的绝对值 double fabs(double x) 返回双精度参数x的绝对值 long labs(long n) 返回长整型参数n的绝对值 double exp(double x) 返回指数函数ex的值 double frexp(double value,int eptr) 返回value=x 2n中x的值,n存贮在eptr中 double ldexp(double value,int exp); 返回value*2exp的值 double log(double x) 返回logex的值 double log10(double x) 返回log10x的值 double pow(double x,double y) 返回xy的值 double pow10(int p) 返回10p的值 double sqrt(double x) 返回+√x的值 double acos(double x) 返回x的反余弦cos-1(x)值,x为弧度 double asin(double x) 返回x的反正弦sin-1(x)值,x为弧度

C语言寒假大作战04

笑着哭i 提交于 2020-02-16 21:22:26
这个作业属于哪个课程 https://edu.cnblogs.com/campus/zswxy/SE2019-2/ 这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/SE2019-2/homework/10275 这个作业的目标 把计算题答案显示出来 作业正文 https://www.cnblogs.com/qwe741741741/p/12317934.html 其他参考文献 %d与%g 2.2.2 设计思路和遇到的问题 利用%d与%g来显示答案 2.2.3 程序结果截图 2.2.4 程序代码 include<stdio.h> include<stdlib.h> include<time.h> void one(); void two(); void three(); void help(); void error(); void menu(); int main() { printf("========口算生成器========\n"); printf("欢迎使用口算生成器:\n"); int command; while(command !=5) { printf("\n"); printf("帮助信息\n"); printf("您需要输入命令代号来进行操作,且\n"); printf("一年级题目为不超过十位的加减法;\n");

c语言中%p和%x的意思

孤人 提交于 2020-02-16 20:50:35
图示: 其中,%p和%x均表示十六进制,只是格式不同 补充:%o表示八进制 附代码: # include <stdio.h> # include <string.h> int main ( ) { char c , s [ 20 ] , * p ; int a = 1234 , * i ; float f = 3.141592653589 ; double x = 0.12345678987654321 ; p = "How do you do" ; strcpy ( s , "Hello, Comrade" ) ; * i = 12 ; c = '\x41' ; printf ( "a=%d\n" , a ) ; /*结果输出十进制整数a=1234*/ printf ( "a=%p\n" , a ) ; printf ( "a=%6d\n" , a ) ; /*结果输出6位十进制数a= 1234*/ printf ( "a=%06d\n" , a ) ; /*结果输出6位十进制数a=001234*/ printf ( "a=%2d\n" , a ) ; /*a超过2位, 按实际值输出a=1234*/ printf ( "*i=%4d\n" , * i ) ; /*输出4位十进制整数*i= 12*/ printf ( "*i=%-4d\n" , * i ) ; /

C语言寒假大作战04

冷暖自知 提交于 2020-02-16 20:16:22
这个作业属于那个课程 C语言程序设计II 这个作业要求在哪里 软件工程四班 我在这个课程的目标是 这个作业在那个具体方面帮助我实现目标 参考文献 %g 2.2.2设计思路和遇到的问题 设计思路: 1.对于编程本来就弱的我,加上放假很久没看编程,所以直接查找了资料来进行编程。 2.一开始不明白怎么使用rand函数,查阅相关资料后明白了。 遇到的问题: switch(choice)没有定义 2.2.3程序结果截图 2.2.4程序代码截图 2.2.5 Gitee上传截图与链接 2.2.6gitee链接 我的码云 来源: https://www.cnblogs.com/ysshhd/p/12317965.html

C语言经典例62-学习putpixel画点(在TC中实现)

喜欢而已 提交于 2020-02-16 19:09:54
目录 1 题目 2 分析 3 实现 1 题目 学习putpixel画点,(在TC中实现) 2 分析 关于 graphics.h 点这里 3 实现 # include <stdio.h> # include <graphics.h> int main ( ) { int i , j ; int driver = VGA ; int mode = VGAHI ; initgraph ( & driver , & mode , "" ) ; setbkcolor ( YELLOW ) ; for ( i = 50 ; i <= 230 ; i + = 20 ) { for ( j = 50 ; j <= 230 ; j ++ ) { putpixel ( i , j , 1 ) ; } } for ( j = 50 ; j <= 230 ; j + = 20 ) { for ( i = 50 ; i <= 230 ; i ++ ) { putpixel ( i , j , 1 ) ; } } } 来源: CSDN 作者: syzdev 链接: https://blog.csdn.net/syzdev/article/details/104340521

查找链表中间节点 -- C语言

喜夏-厌秋 提交于 2020-02-16 19:06:50
算法思路 1. 求链表总长度,取得一半数,遍历链表一半的数量,取得中间节点 2. 用两个指针,一个每次都移动一回,一个每两次移动一回,当第一个指针遍历完链表,后一个指针就正好指向中间 代码实现1 st_dataNode * getListMidNode(st_dataNode * head){ if(NULL == head){ printf("%s: param error\n",__func__); return NULL; } int len = 0; int m = 0; st_dataNode * mid = NULL; len = getListLen(head); m = (len / 2 - 1); // 注意应该建议,因为下标是从0开始的 if(m == 0){ return head; } mid = head; while(m > 0){ mid = mid->next; m--; } return mid; } 代码实现2 /* 通过一次遍历来完成寻找中间节点 */ st_dataNode * getListMidNode2(st_dataNode * head){ if(NULL == head){ printf("%s: param error\n",__func__); return NULL; } int step1 = 0, step2 = 0;

推箱子-C语言

泄露秘密 提交于 2020-02-16 17:35:52
C语言推箱子 # include <stdio.h> # include <windows.h> # include <conio.h> //地图规格 # define Width 8 # define Height 8 //地图元素 # define Blank 0 # define Wall 1 # define Target 2 //目标位置 # define Box 3 # define RightBox 4 //已经放对位置的箱子 //人的初始位置 # define StartX 6 # define StartY 5 int map [ Height ] [ Width ] = { { 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 } , { 1 , 0 , 0 , 0 , 1 , 0 , 0 , 1 } , { 1 , 0 , 1 , 0 , 1 , 3 , 2 , 1 } , { 1 , 0 , 0 , 0 , 0 , 3 , 2 , 1 } , { 1 , 0 , 1 , 0 , 1 , 3 , 2 , 1 } , { 1 , 0 , 0 , 0 , 1 , 0 , 0 , 1 } , { 1 , 1 , 1 , 1 , 1 , 0 , 0 , 1 } , { 0 , 0 , 0 , 0 , 1 , 1 , 1 , 1 } } ; int

C语言学习————树的学习

你离开我真会死。 提交于 2020-02-16 11:59:11
这周我学习了树的有关知识,将学到的一些东西写下来。 FIRSt 树的定义 1、有且只有一个称为根的节点; 2、有若干个互不相交的子树,这些子树本身也是一颗树。 SECOND 专业术语 树的深度:从根节点到最低层,节点的层数 ,称之为树的深度。 根节点是第一层; 结点的层次:根节点为第一层,根节点的子节点为第2层,以此类推 ; 叶子节点:没有子节点的节点; 非终端节点:实际就是非叶子节点; 结点度: 子节点的个数称为度树的度。 THIRD 树的分类 一般树:任意一个节点的子节点的个数不受限制; 二叉树:任意一个节点的子节点最多2个,且子节点的位置不可更改; 满二叉树:在不增加层数的情况下,不能在增加节点的情况就是满二叉树; 完全二叉树:若设二叉树的深度为h,除第 h 层外,其它各层 (1~h-1) 的结点数都达到最大个数,第 h 层所有的结点都连续集中在最左边,这就是完全二叉树。 介绍完树的基础知识后,我参考网上大神的代码,自己试了试二叉树的C语言建立与打印,代码如下: 二叉树的建立、插入与打印 # include <stdio.h> # include <stdlib.h> //二叉树的结点 typedef struct tree { struct tree * left ; struct tree * right ; int data ; } treenode , * Tree

leetcode 60 第K个排列 C语言实现

吃可爱长大的小学妹 提交于 2020-02-16 01:23:34
题目 leetcode 60 给出集合 [1,2,3,…,n],其所有元素共有 n! 种排列。 按大小顺序列出所有排列情况,并一一标记,当 n = 3 时, 所有排列如下: “123” “132” “213” “231” “312” “321” 给定 n 和 k,返回第 k 个排列。 说明: 给定 n 的范围是 [1, 9]。 给定 k 的范围是[1, n!]。 示例 1: 输入: n = 3, k = 3 输出: “213” 示例 2: 输入: n = 4, k = 9 输出: “2314” void dfs ( char * res , int ind , int n , int num , int k , int flag [ ] ) { if ( num > k ) { for ( int j = 1 ; j <= n ; j ++ ) { if ( flag [ j ] == 0 ) { res [ ind ] = j + '0' ; flag [ j ] = 1 ; break ; } } dfs ( res , ind + 1 , n , num / ( n - ind - 1 ) , k , flag ) ; } else { int x ; if ( k % num == 0 ) { x = k / num ; for ( int j = 1 ; j <= n ;

C语言面试题 02.03. 删除中间节点

血红的双手。 提交于 2020-02-16 00:01:10
实现一种算法,删除单向链表中间的某个节点(除了第一个和最后一个节点,不一定是中间节点),假定你只能访问该节点。 示例: 输入:单向链表a->b->c->d->e->f中的节点c 结果:不返回任何数据,但该链表变为a->b->d->e->f思路是:把给定节点的下一个节点的值和指针赋给该节点,然后删除下一个节点(这样看起来就像是删除了中间的节点) * struct ListNode { * int val; * struct ListNode *next; * }; */ //把下一个节点的值和指针赋给 给定的节点,然后删除下一个节点 void deleteNode(struct ListNode* node) { struct ListNode * temp ; temp = node->next ; node->val = temp->val;  node->next =temp->next ;   free(temp); } 来源: https://www.cnblogs.com/cocobear9/p/12315381.html