c语言

c语言 简单实现x的n次方

允我心安 提交于 2020-03-17 16:22:28
本题要求实现一个计算x ​n ​​ (n≥0)的函数。 函数接口定义: double mypow ( double x , int n ) ; 函数mypow应返回x的n次幂的值。题目保证结果在双精度范围内。 裁判测试程序样例: # include <stdio.h> double mypow ( double x , int n ) ; int main ( ) { double x ; int n ; scanf ( "%lf %d" , & x , & n ) ; printf ( "%f\n" , mypow ( x , n ) ) ; return 0 ; } /* 你的代码将被嵌在这里 */ 我的答案: double mypow ( double x , int n ) { double num = 1 ; //注意为double型 for ( int i = 1 ; i <= n ; i ++ ) { num = x * num ; //我开始写的是x*x,发现n=1时不行 } return num ; } 简单题,就不多说了 来源: CSDN 作者: inooll 链接: https://blog.csdn.net/inooll/article/details/104922178

C语言的基本的输入输出

北慕城南 提交于 2020-03-17 15:23:52
C语言的基本的输入输出 prinf()函数 在头文件stdio.h中 printf()函数是格式化输出函数,一般用于向标准输出设备按照规定格式输出信息。 printf()函数的格式为: printf("<格式化字符串>",<参量表>); printf()函数的另一种函数格式为: int printf(const char *format, 参量表) 函数把输出写入到标准输出流 stdout ,并根据提供的格式产生输出。 其中格式化字符串包括两部分的内容: (1)一部分是正常的字符,这些字符将按照原样输出。 (2) 另一部分是格式化字符,以"%"号开始,后面跟一个或几个格式参数,用来确定 输出内容的格式。 参量表: 参量表是需要输出的一系列参数,其个数必须与前面的格式化字符串中的格式参数个数一样多 ,参量表里的各参数用 " , "符号分开,且参量表里的顺序与前面的格式化参数一 一对应。否则 会出现一些意想不到的错误。 printf函数对参量表中各量求值的顺序是自右至左进行的。 但是必须注意,求值顺序虽是自右至左,但是输出顺序还是从左至右, printf()函数的返回值为实际控制输出的字符数 例: 可以看出第一个printf()它输出了100,总共3个字符,返回值为3。 可以看出第一个printf()的返回值为4,这是因为输出的有100还有\n总共4个字符所以返回值为4.

【c语言】蓝桥杯算法提高 P0401

十年热恋 提交于 2020-03-17 15:16:15
问题描述 输入一个无符号整数x,输出x的二进制表示中1的个数. 输入 :   76584 输出 :   7 # include <stdio.h> int main ( int argc , char * argv [ ] ) { unsigned int n ; scanf ( "%d" , & n ) ; int cnt = 0 ; while ( n ) { if ( n & 1 ) //位运算,判断n的二进制位是否为0,n=1为真,非0为假 cnt ++ ; n >>= 1 ; //n的二进制位向右移动一位,判断是否等于1;即n=n>>1 } printf ( "%d\n" , cnt ) ; return 0 ; } 来源: CSDN 作者: 折腾的小飞 链接: https://blog.csdn.net/qq_41666142/article/details/104919183

C语言整理 七 (函数)

非 Y 不嫁゛ 提交于 2020-03-17 12:38:28
函数 c语言中函数分为库函数和自定义函数。 函数定义 自定义函数必须先定义再使用。 包含内容:1 函数首部。指定函数类型和函数名字。 2 函数体。指一段代码,描述了函数完成的操作,即函数的功能实现。 定义格式:数据类型 函数名 (参数列表){函数体} 如果没有参数列表称为无参函数。 函数首部 1 函数名:命名方式与变量名相同,满足标识符的命名规则,同一个程序中,函数名必须唯一 2 函数值类型:可以是任何类型(包括自定义类型)。void———无返回值类型。 3函数参数:定义有参函数时,函数名后面括号中的变量名称为形式参数,简称形参。如果含有多个参数,参数之间用逗号隔开。每个形参之前都要有类型名。 函数体 花括号之间的程序代码,用来实现函数的功能。 return语句 函数值通过return语句返回。 语法格式:return 表达式 或 return (表达式); 此表达式的类型与函数首部所说明的函数值类型应保持一致。如果两者不一致,C编译程序将表达式的类型转换成函数值类型;如果不能实现转化。则会出错。 当程序执行到return语句时,程序会退出该函数,返回到主调函数中调用它的地方,并带回函数值(无参函数不带回函数值)。同一个函数内,根据需要可以多次出现return语句。但无论函数体中有多少个return语句,return语句只会执行一次。 来源: CSDN 作者: 我就是个普通人 链接

C语言算法---N的倍数

戏子无情 提交于 2020-03-17 12:11:01
N的倍数 文章目录 N的倍数 问题描述 : 输入说明 : 输出说明 : 输入范例 : 输出范例 : 算法思想 参考代码 问题描述 : 任意给定一个自然数N,寻找一个M,要求M是N的倍数,且它的所有各位数字都是由0或1组成,并要求M尽可能小。 输入说明 : 输入多组测试数据,每组测试数据仅占一行,每行仅包括一个正整数N(1≤N≤100) 输出说明 : 每组运算结果为一个整数,即N的倍数M。 输入范例 : 1 2 输出范例 : 1 10 算法思想 说到底本题就是二叉树的层次遍历,以 1 为根,其他子节点分别为 0 和 1; 定义一个队列,实现遍历; 参考代码 void func ( int n ) { int x , queue [ MAX_SIZE ] , front = 0 , rear = 0 , num ; queue [ front ++ ] = 1 ; // 1入队 while ( front != rear ) { num = queue [ rear ++ ] ; //出队 if ( num % n == 0 ) { printf ( "%d\n" , num ) ; return ; } else { queue [ front ++ ] = num * 10 ; queue [ front ++ ] = num * 10 + 1 ; } } } 来源: CSDN

编程语言排行分析,从2009到2019。

Deadly 提交于 2020-03-17 11:14:12
文章目录 一、世界编程语言排行榜 二、历年排名情况 1、2009年 2、2010年 3、2011年 4、2012年 5、2013年 6、2014年 7、2015年 8、2016年 9、2017年 10、2018年 11、2019年 三、排名分析 1、Java、C、C++的地位不可动摇 2、那些年吹过的牛 3、现在正在吹的牛 4、很久很久以前的编程语言 5、C与C++的关系 五、版权声明 一、世界编程语言排行榜 TIOBE编程语言排行榜是编程语言流行趋势的一个指标,每月更新,这份排行榜排名基于互联网有经验的程序员、课程和第三方厂商的数量。排名使用著名的搜索引擎(诸如Google、MSN、Yahoo!、Wikipedia、YouTube以及Baidu等)进行计算。请注意这个排行榜只是反映某个编程语言的热门程度,并不能说明一门编程语言好不好,或者一门语言所编写的代码数量多少。 二、历年排名情况 1、2009年 2、2010年 3、2011年 4、2012年 5、2013年 6、2014年 数据缺失。 7、2015年 8、2016年 9、2017年 10、2018年 11、2019年 三、排名分析 1、Java、C、C++的地位不可动摇 从2001年 Tiobe 编程语言排行榜开始发布至今,Java、C、C++几乎一直占据着前三名。虽然Perl、Visual Basic、Objective

使用c实现简单的rpc

无人久伴 提交于 2020-03-17 11:00:59
某厂面试归来,发现自己落伍了!>>> RPC 简介 RPC(Remote Procedure Call)——远程过程调用,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的细节的技术。 通过RPC我们可以充分利用非共享内存的多处理器环境(例如通过局域网连接得多台工作站),这样可以简便地将你的应用分布在多台工作站上,应用程序就像运行在一个多处理器的计算机上一样。你可以方便的实现过程代码共享,提高系统资源的利用率,也可以将以大量数值处理的操作放在处理能力较强的系统上运行,从而减轻前端机的负担。 在OSI网络通信模型中,RPC跨越了传输层和应用层。RPC使得开发包括网络分布式多程序在内的应用程序更加容易。 RPC 的主要目的是为组件提供一种相互通信的方式,使这些组件之间能够相互发出请求并传递这些请求的结果。 RPC 调用过程 客户机对服务器的一次RPC调用,其内部操作大致有如下十步: 1.调用客户端句柄;执行传送参数 2.调用本地系统内核发送网络消息 3.消息传送到远程主机 4.服务器句柄得到消息并取得参数 5.执行远程过程 6.执行的过程将结果返回服务器句柄 7.服务器句柄返回结果,调用远程系统内核 8.消息传回本地主机 9.客户句柄由内核接收消息 10.客户接收句柄返回的数据 RPC 的应用场景 RPC 在分布式系统中的系统环境建设和应用程序设计中有着广泛韵应用

C语言 —— 你不得不知道的 scanf 的高级用法

两盒软妹~` 提交于 2020-03-17 10:49:56
如果你想让自己的输入更加炫酷、更加个性化、更加安全,那么还需要学习 scanf() 的高级用法,这才是大神和菜鸟的分水岭。 好了,言归正传,我们分三个方面讲解 scanf() 的高级用法。 1) 指定读取长度 还记得在 printf() 中可以指定最小输出宽度吗?就是在格式控制符的中间加上一个数字,例如,%10d表示输出的整数至少占用 10 个字符的位置: 如果整数的宽度不足 10,那么在左边以空格补齐; 如果整数的宽度超过了 10,那么以整数本身的宽度来输出,10 不再起作用。 其实,scanf() 也有类似的用法,也可以在格式控制符的中间加一个数字,用来表示读取数据的最大长度,例如: %2d表示最多读取两位整数; %10s表示读取的字符串的最大长度为 10,或者说,最多读取 10 个字符。 请看下面的例子: # include <stdio.h> int main ( ) { int n ; float f ; char str [ 23 ] ; scanf ( "%2d" , & n ) ; scanf ( "%*[^\n]" ) ; scanf ( "%*c" ) ; //清空缓冲区 scanf ( "%5f" , & f ) ; scanf ( "%*[^\n]" ) ; scanf ( "%*c" ) ; //清空缓冲区 scanf ( "%22s" , str ) ;

C语言常量

自古美人都是妖i 提交于 2020-03-17 09:49:24
常量 程序运行期间,不可改变的数据 12 78 12.34 's' 's' 单引号,避免编译器进行处理 1.表示 因为常量的数值不可改变,所以使用 数值去表示一个常量 2.类型 12 12.34 's' 通过外貌,可以知道常量的类型 常量的类型使用默认类型 整型常量默认:int 1234 --> int ------------------------------- 尾缀: 1234L --> long 1234l --> long ------------------------------- 前缀:进制 1234 --> 默认:十进制 0125 --> 0:八进制 0x34FB --> 0x:十六进制 实型常量默认:double 12.34 --> double 尾缀: 12.34f --> float 12.34F --> float 3.含义 核心:整型可表示一切特殊含义 核心:你想它是什么,它就表示什么 0 红 1 蓝 2 绿 0 高富帅 1 白富美 2 矮穷挫 0 随机播放 1 顺序播放 2 单曲循环 0 ------------------------------------------- 想让常量的含义被人识别,用名称替换数值 #define green 2 enum color{red, green, white}; 0 1 2 来源: CSDN 作者:

C语言的浮点数储存

眉间皱痕 提交于 2020-03-17 09:15:39
最近在学习c语言,对浮点型数据的存储方式有些感兴趣,然后查资料了解了IEEE表示法:第一位是符号位0正1负,然后的八位是表示指数,最后23位表示尾数。对一个浮点数,首先将它规格化(就是整数部分为1的二进制表示),比如1.25就是1x2 0 +1x2 -2 ,就是1.01x2 0 ,它的指数部分为0,小数部分为0.01,小数部分就是浮点数的尾数部分,所以其尾数为0100000,00000000,00000000,00000000。至于为什么不保留整数部分的1,我想第一是为了多一位的精度,第二没必要,因为都规格化了整数部分都是1,然后是指数部分,指数部分要加上偏移量,我开始不明白,后面想明白了,如果没有偏移量,那么1.0和0.0的表示方法是一样的,会造成混淆,而计算机补码的0只有一种表示方法,怎么办?加上偏移量01111111就好了,这样我们把00000000,00000000,00000000,00000000定义为0,把00111111,10000000,00000000,00000000定义为1.0,而且这样00000000到11111111就是从小到大表示指数大小了,指数范围为(-127到128)所以浮点数的表示范围是2 -126 到2 128 。浮点数表示的精度为2 -23 =1.192e-7。既然知道原理,那就验证一下 float x=1.0; unsigned int*p