C语言
C语言
萏语
计算机类博主,来提升自己,从0开始!算法、python、机器学习、前端!
展开
-
C语言如何判断闰年?
每日一题题目:如何判断是否为闰年,是则输出1,否则输出0。算法思想:首先,要知道闰年分为普通闰年和世纪闰年。1、普通闰年:公历年份是4的倍数的,且不是100的倍数,为普通闰年。(如2004、2020年就是闰年);2、世纪闰年:公历年份是整百数的,必须是400的倍数才是世纪闰年(如1900年不是世纪闰年,2000年是世纪闰年)。”然后就可以很轻松写了程序代码:#include<stdio.h>int main(){ int a; scanf("%d", &a); if(原创 2021-07-24 14:44:29 · 8535 阅读 · 0 评论 -
C语言约分、求最大公约数?三角形用分数格式输出其较小锐角的正弦值
每日一题题目:输入一组勾股数 a,b,c用分数格式输出其较小锐角的正弦值。(要求约分。)算法思想:首先,题目中已经知道为勾股数,相对好做一点,那么,根据数学思想,正弦=直角边/斜边,小角对小边。那么 最小锐角正弦值,则为最短的边/ 斜边------即最小值/ 最大值。难点在于如何找到最小值和最大值,这里在我之前的文章中也写到了,冒泡排序法原文如何约分—即找到最大公约:能同时被两个整数整除的最大公约数。这里,用辗转相除法。一、辗转相除法求两个数最大公约数1、原理:最大公约数 =原创 2021-08-17 15:33:54 · 1133 阅读 · 2 评论 -
C语言中:详解floor函数、ceil函数和round函数
C语言中1.floor函数功能:把一个小数向下取整 即就是如果数是2.2 ,那向下取整的结果就为2.000000原型:double floor(doube x); 参数解释: x:是需要计算的数返回值: 成功:返回一个double类型的数,此数默认有6位小数 无失败的返回值头文件:#include<math.h>示例代码:floor函数计算后的结果为double类型的:# include <stdio.h>i转载 2021-08-15 16:45:25 · 4967 阅读 · 0 评论 -
C语言求三角形面积?C语言小数float与double?
每日一题题目:C语言求三角形面积算法思想:题目也是很简单,涉及到求根函数sqrt(),这里并不过多赘述,主要分享一下误区----float与double错误程序代码:#include<stdio.h>#include<math.h>int main(){ float a, b, c, p, s; scanf("%f %f %f", &a, &b, &c); p = (a + b + c) / 2; s = sqrt(p * (p - a原创 2021-07-19 17:11:54 · 2197 阅读 · 1 评论 -
C语言整数排序方法: 冒泡排序法、qsort函数、中间变量
每日一题题目:给出三个整数 a,b,c,要求把这三位整数从小到大排序。算法思想:1. 思路一:如果小白做题可以简单地让三个数两两比 较,scanf和printf即可2. 思路二:可以使用 if 语句进行条件判断,如果 a 大于 b,则借助于中间变量 t 互换 a 与 b 值, 依此类推比较 a 与 c、b 与 c,最终结果即为 a、b、c 的升序排列。3. 思路三(冒泡排序法)从左到右,相邻元素进行比较。每次比较一轮,就会找到序列中最大的一个或最小的一个。这个数就会从序列的最右边冒出来。本题从小到原创 2021-08-08 23:12:21 · 3571 阅读 · 1 评论 -
一个字节多少位?
一个字节多少位1字节(byte) = 8位(bit)在16位的系统中(比如8086微机) 1字 (word)= 2字节(byte)= 16(bit)在32位的系统中(比如win32) 1字(word)= 4字节(byte)=32(bit)在64位的系统中(比如win64)1字(word)= 8字节(byte)=64(bit)另外,只有char类型是被规定为8位,其他数据类型都没有被强制规定具体位数C类型3264char11short int22int转载 2021-07-21 22:08:43 · 13645 阅读 · 0 评论 -
C语言实现四舍五入?
要用C语言实现四舍五入,有一个很巧妙的方法。仅使用 int i = (int)(a + 0.5)即可。如果遇到有负数的情况,只需要将加号改为减号即可。我们知道,C语言中去除小数位采用的方法是强制性转化成整型类型。那么假如我们要对一个小数保留三个小数位而第四个小数位按照四舍五入的规则进行,该怎样实现呢?很简单,还是使用上方提到的方法,我们先将数字扩大1000倍,使得第四位小数称为新数字的第一位,然后我们可以给它加上0.5后再进行强制性转化。为什么要加0.5呢?假如这个小数位的数值大于5,加上0.5能够实转载 2021-08-15 16:29:13 · 6534 阅读 · 8 评论 -
C语言中signed和unsigned怎么理解?C语言unsigned long、long long 取值范围???
C语言中signed和unsignedsigned意思为有符号的,也就是第一个位代表正负,剩余的代表大小,例如:signed int 大小区间为-128-127unsigned意思为无符号的,所有的位都为大小,没有负数,例如:unsigned int 大小区间为:0-255signed类型的整数,只用了去除最高位,剩下的15位来进行编码的,而最高位只是用来做标记(sign),标记整数的正负,0表示正,1表示负。所以对于signed的整数,的存储范围是(-2^15 to 2^15-1),也就是 -3转载 2021-07-21 22:39:43 · 9052 阅读 · 0 评论 -
C++中setiosflags( ) 的用法、setprecision(n)怎么使用
题目:输入的数为一个小于 15 的非负整数 n ;输出 5 个不同精度的PI,即小数点后面分别保留 n,n+1 ,n+2 ,n+3 ,n+4 位的PI,每个PI分别独占一行。算法思想:流输入输出也可以进行格式控制, C++ 中是通过流操纵算子来实现的。流操纵算子是在头文件 iomanip 中定义的,因此要使用这些流操纵算子,必须包含该头文件。要输出n-n+4位,可以使用循环,在这里我使用了do while循环C++ 的 iomanip 库提供了多种流操纵算子,其中setprecision(n)原创 2021-09-17 19:35:57 · 1890 阅读 · 0 评论 -
C语言大小写转化
每日一题题目:C语言中,如何将大小写相互转化算法思想:由于大写字母与小写字母之间的差值为 32,因此小写字母转换为大写字母的方法就是将小写字母的 ASCII 码值减去 32,便可得到与之对应的大写字母。程序代码:#include<stdio.h>int main(){ char x; scanf("%c",&x); if(x >= 'A' && x <= 'Z'){ x = x + 32; }else if(x >= 'a' &a原创 2021-07-17 21:13:32 · 2129 阅读 · 5 评论 -
C语言:正整数、小数、字符串如何逆序输出
每日一题题目:C语言如何逆序输出原创 2021-07-18 14:20:36 · 4625 阅读 · 1 评论