大家好,又见面了,我是你们的朋友全栈君。...(" "); for(j=i;j<2*n-i-1;j++) printf("*"); printf("\n"); } 有些是有两种方法,一种是通过限制每行星星的个数进行输出
代码如下: 不知道等腰直角三角形怎样判断?...b,&c); /*first judge triangle*/ if(a+b>c&&a+c>b&&b+c>a) /*second judge equilateral triangle.../*third judge isosceles right-angled triangle*/ if((a==b||b==c||a==c)&&(a*a+b*b==c*c|...|a*a+c*c==b*b||b*b+c*c==a*a)) printf("a,b,c can form a isosceles right-angled triangle...c||a*a+c*c==b*b||b*b+c*c==a*a) printf("a,b,c can form a right-angled triangle
“要成为绝世高手,并非一朝一夕,除非是天生武学奇才,但是这种人…万中无一” ——包租婆 这道理放在C语言学习上也一并受用。...在编程方面有着天赋异禀的人毕竟是少数,我们大多数人想要从C语言小白进阶到高手,需要经历的是日积月累的学习。 那么如何学习呢?当然是每天都练习一道C语言题目!! ? 作者 闫小林 白天搬砖,晚上做梦。...例84:给定平面上任意三个点的坐标(x1,y1)、(x2,y2)、(x3,y3),检验它们能否构成三角形。 解体思路:构成三角形的要求是,两边之和大于第三条边,读者根据这个准则判定即可。...C语言源代码演示: #include //头文件 #include //为了引用sqrt函数 int main()//主函数 { double x1,y1,...\n"); } else { printf("这三个点无法构成三角形!
例84:给定平面上任意三个点的坐标(x1,y1)、(x2,y2)、(x3,y3),检验它们能否构成三角形。 解体思路:构成三角形的要求是,两边之和大于第三条边,读者根据这个准则判定即可。...C语言源代码演示: #include //头文件 #include //为了引用sqrt函数 int main()//主函数 { double x1,y1,...\n"); } else { printf("这三个点无法构成三角形!...\n"); } return 0;//主函数返回值为0 } 编译运行结果: 请输入第一个坐标;1 0 请输入第二个坐标;4 0 请输入第三个坐标;2 2 这三个点可以构成三角形!...以上,如果你看了觉得对你有所帮助,就给小林点个赞,分享给身边的人叭,这样小林也有更新下去的动力,跪谢各位父老乡亲啦~ C语言学习路线 C语言开发工具 更多案例可以go公众号:C语言入门到精通
1.题目描述: 输⼊三个整数a,b,c,判断由a,b,c作为三条边组成的三⻆形,如果不能组成三⻆形则输出:⾮三⻆ 形;如果是三⻆形,再继续判断,如果是等边三⻆形,则输出:等边三⻆形;如果是等腰三⻆形...2.解法思路: 三⻆形的判断⽅法是:对于三条边⻓a、b、c,若任意两边之和⼤于第三边,那么就可以组成⼀个三 ⻆形,即a+b>c, a+c>b, b+c>a。...最后,如果输⼊的三个数不能组成三⻆形,则输出“⾮三⻆形” 3.解法代码实现 #include int main() { int a = 0; int b = 0; int c...= 0; scanf("%a %b %c", &a, &b, &c); //三角形必须满足任意两边大于第三边 if (a + b > c && a + c > b && b + c > a) {...else if (a == b || a == c || b == c) { printf("等腰三角形\n"); } //两种情况都不满足输出普通三角形 else {
杨辉三角:是二项式系数在三角形中的一种几何排列,中国南宋数学家杨辉1261年所著的《详解九章算法》一书中出现。...在欧洲,帕斯卡(1623----1662)在1654年发现这一规律,所以这个表又叫做帕斯卡三角形。帕斯卡的发现比杨辉要迟393年,比贾宪迟600年。...杨辉三角本质特征:它的两条斜边都是由数字1组成的,而其余的数则是等于它肩上的两个数之和。
个人主页: :✨✨✨初阶牛✨✨✨ 推荐专栏1: C语言初阶 推荐专栏2: C语言进阶 个人信条: 知行合一 效果展示图: 一、等腰三角形 1.1 紧凑型等腰三角形: 效果图:...int i = 0, j = 0; int row = 0;//表示打印的行数 printf("请输入要打印三角形的行数:"); scanf("%d", &row); for (i = 1; i...("请输入要打印三角形的行数:"); scanf("%d", &row); for (i = 1; i <= row; i++)//外层循环决定打印的行数 { for (j = 0; j <=...= 0; j < 2*i-1;j++)//打印元素 { printf("*"); } printf("\n");//每打印一行换行 } return 0; } 1.2 分散型等腰三角形...原因是每个元素后面增加了一个空格) (2)代码实现: #include int main() { int i = 0, j = 0; int row = 0; printf("请输入要打印三角形的行数
题目链接 题目描述 给定一个包含非负整数的数组 nums ,返回其中可以组成三角形三条边的三元组个数。...4,2,3,4] 输出: 4 提示: 1 <= nums.length <= 1000 0 <= nums[i] <= 1000 思路分析 知识点:双指针 解析: 这里补充一个数学知识,判断三个数能否构成三角形的条件是...我们可以将这个条件再优化一下,先将这三个数a,b,c从小到大排一下序,目前ac,a+c>b,b+c>a,但如果已经知道c是最大的情况后,我们只需要判断a+b>...c即可,因为c最大,它随便加一个正数肯定比a和b大,所以不需要考虑了。...任意两边之差小于第三边,即b-a<c,c-b<a,c-a<b,当你满足上面的条件后,这个条件也自然而然就满足了。 步骤 1.根据上面思路,我们先将所给数组进行升序排序,最大值就在最右边。
杨辉三角形: 杨辉三角形是根据二项式的系数在三角形中的一种几何排列。9行的杨辉三角形图像如下: 如何用C语言输出一个简单的杨辉三角形呢?下面我来分享我的思路,仅供大家参考。...核心思路: 看图找规律,不难发现:杨辉三角中的每行首位和末尾数字均为 1 ;行数=列数,如第三行有三列、第五行有五列;从第三行起,每行从第二列数开始的数值,均满足公式:a[i][j] = a[i - 1
目录 西电OJ题解-91(C语言):求三角形面积 推荐 一、题目 1. 题目描述 2. 输入说明 3. 输出说明 4. 样例输出 二、解题思路及题解 1. 解题思路 2. 题解 ---- ?...西电OJ题解-91(C语言):求三角形面积 ? 本专栏为西安电子科技大学C语言课程题库的题解,题目及其部分解题思路由好兄弟梁忠鑫提供,学长在此只是修改完善。...题目描述 输入三角形的三边长,计算三角形的面积,结果保留两位小数。 边长分别为a,b,c,三角形的面积公式为s=sqrt(p(p-a)(p-b)(p-c)),其中p=(a+b+c)/2。...如果我的博客对你有帮助、如果你喜欢我的博客内容,请“点赞” “评论”“收藏”一键三连哦!听说点赞的人运气不会太差,每一天都会元气满满呦!...码字不易,大家的支持就是我坚持下去的动力。点赞后不要忘了关注我哦! ? ?
C99 , C11 , C17 等标准 , 以满足新的编程需求 ; 二、C 语言缺陷 C 语言有如下缺陷 : C 语言 没有经历过 缜密的 设计过程 , 都是根据需求逐渐完善的 , 出现了很多缺陷和漏洞...+ 高级语言特性 1、C 语言衍生的高级语言 鉴于 上述 面向过程 的 C 语言 的 设计缺陷 , 在 C 语言 的基础上 , 引入 面向对象 设计方法 , 同时加入 高级语言特性 , 开发出了 高级面向对象...2、C 语言与 C++ 语言关系 C 语言 与 C++ 语言 并 不是 竞争关系 ; C++ 语言 是 以 C 语言为基础 的 加强版本编程语言 , 可以看作是更好的 C 语言 , 在 C++ 语言...中 , 可以使用 C 语言语法 , 对 C 语言完全兼容 ; C++ 语言 包含 C 语言 , 在 C++ 代码中可以使用 C 语言的语法 , 但是在 C 语言中不能使用 C++ 的语法 ; 3、C++...语言应用场景 C 语言 和 C++ 语言的应用场景 : C语言 应用场景 : 系统软件、操作系统、编译器等 底层系统级应用 ; C++ 语言 应用场景 : 大型应用程序、游戏 等更 高级的应用 ; 在不同的
下面以windows环境下的test.c为例,test.c里的代码为: #include int main(void) { printf("This is a test program...如图,编译生成可执行文件的过程实际包含四个过程:(1)预处理;(2)编译;(3)汇编;(4)链接。...2、预处理(Preprpcessing) 使用预处理器把源文件test.c经过预处理生成test.i文件,预处理用于将所有的#include头文件以及宏定义替换成其真正的内容。...预处理的命令为: gcc -E test.c -o test.i 上述命令中-E是让编译器在预处理之后就退出,不进行后续编译过程;-o是指定输出文件名。 预处理之后得到的仍然是文本文件。...汇编过程的命令为: gcc -c test.s -o test.o 上述命令中-c、-o让汇编器把汇编文件test.s转换成目标文件test.o。
1.正/倒直角三角形 这种三角形的实现很简单,这里就不作过多的赘述了,直接看代码吧 红框里的代码很重要,没有这句话,三角形就打印不出来,打印的只是许多连起来的‘*’。...2.金字塔 我们先来看看金字塔的组成 可以看见金字塔由空格和星号组成。再仔细观察,不难发现空格的和星号的排列方式存在着规律。...我们曾经在高中数学肯定了解过杨辉三角,知道它每一行的数其实是它当前的行数-1的组合数,这样一来就简单许多了,我们只需要写一个计算组合数的函数,然后调用它就行了 。...; j++) { printf("%4d", Gulid(i, j)); } printf("\n"); } return 0; } 这相比上面的就容易理解了许多 4.弗洛伊德三角形...弗洛伊德三角形就是每行有行数个数字,且打印的数字是递增的,如下图: 可以发现结尾的数字是从1到行数的和,1行就以1结尾,2行就是3,3行就是6......10行就是55; 我们可以写个函数来实现这个功能
(1)语法 int getchar(void); (2)返回值 getchar函数的返回值是用户输入的第一个字符的ASCII码,如出错返回-1,且将用户输入的字符回显到屏幕.如用户在按回车之前输入了不止一个字符...,其他字符会保留在键盘缓存区中,等待后续getchar调用读取.也就是说,后续的getchar调用不会等待用户按键,而直接读取缓冲区中的字符,直到缓冲区中的字符读完为后,才等待用户按键。...函数的值,如果有循环或足够多的getchar语句,就会依次读出缓冲区内的所有字符直到’\n’.要理解这一点,之所以你输入的一系列字符被依次读出来,是因为循环的作用使得反复利用getchar在缓冲区里读取字符...,而不是getchar可以读取多个字符,事实上getchar每次只能读取一个字符.如果需要取消’\n’的影响,可以用getchar()来清除,如:while((c=getchar())!...补充: putchar()的用法: (1)输出:putchar函数只能用于单个字符的输出,向终端输出一个字符,且一次只能输出一个字符。
C语言的开发场景: 应用软件 主要包含各种软件如:QQ,百度网盘,游戏 (上层) 操作系统 windows/macOS/Linux (下 电脑硬件 ...层) C语言是一个擅长底层开发的语言。...而C语言的主要编译器有:Clang/GCC/MSVS。...通过sizeof可以计算出每种类型的大小 eg:printf("%d\n",sizeof(char)); 变量与常量: 变量的命名:一定不能以简单的一两个字母来表示,最好是使用符合其内涵的英文单词来命名...4.变量名中区分大小写 5.变量名不能使用关键字(如不能使用int作变量名) 变量的分类:局部变量/全局变量 1.在大括号外的就是全局变量,在大括号里的就是局部变量 2.当全局变量和局部变量冲突时,局部变量优先
今天推荐一个函数库glib 注意不是glibc https://developer.gnome.org/glib/ 一直在抱怨,标准C中为什么没有类似于STL的标准容器,让全世界的程序员在数以万次的重复实现它们...glib提供了动态数组、单/双向链表、哈希表、多叉树、平衡二叉树、字符串等常用容器,完全是面向对象设计的,实现得非常精致。 你开发过跨硬件平台的软件吗?是不是常常为硬件平台的差异而苦恼呢?...字节顺序是常见的问题之一,大端格式,小端格式,还是PDP格式的?这样差异造成的BUG会浪费不少时间,同时让代码晦涩难读。glib提供了一套完整的宏,利用这些宏编写程序,问题大大简化了。...如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
大家好,又见面了,我是你们的朋友全栈君。...文章目录 文件打开与关闭 文件读写操作 读/写文件中的字符串 格式化读写文件操作 文件定位函数 作业使用案例(自己可以全部完成一遍): 文件打开与关闭 C文件操作用库函数实现,包含在stdio.h中。...fread与fwrite 一般调用形式: fread(buffer,size,count,fp ); fwrite(buffer,size,count,fp ); 参数说明: buffer: 要读入的数据块的存放首地址或要输出的数据块的起始地址...size: 每个要读/写的数据块的大小(字节数) count: 要读/写的数据块的个数 fp: 要读/写的文件指针 返回值: 成功,返count的值;出错或文件尾,0值。...20190410001"; int age = 17; fprintf(fp, "%s\t%s\t%d\n", name, no, age); fclose(fp); return 0; } 文件定位函数 C语言规定的起始位置有三种
前言 内存是电脑上特别重要的存储器,计算机中程序的运行都是在内存中进行的。 所以为了有效的使用内存,就把内存划分成一个个小的内存单元,每个内存单元的大小是一个字节。...计算机的 存储器 容量是以 字节 为最小单位来计算的,对于一个有128个存储单元的存储器,可以说它的容量为128字节。...如果有一个1KB的 存储器 则它有1024个存储单元,它的编号为从0-1023。...在计算机上,有地址线,物理的电线,有高低电平的信号,转换数字信号:1/0 32位机器,上面有32根地址线 2的32次方个字节的空间 - - - 4,294,967,296 Byte — 4GB --...-- 通过pa里存放的a的地址找到a ---- 三、指针变量的大小 指针变量是用来存放地址的 32位机器上:地址是32个二进制位,这个地址要存储的话要4个字节,所以在32位机器上,指针变量的大小是
一、数组的概念 用来存储一组数据的构造数据类型 特点:只能存放一种类型的数据,如全部是int型或者全部是char型,数组里的数据成为元素。...Int x[]={1,2}; Char ca[5]={‘a’,‘A’,‘B’,‘C’,‘D’}; 数组名即代表数组的地址,数组的地址==数组名(ca)==数组的首元素的地址&ca[0] 在内存中,内存从大到小进行寻址...,为数组分配了存储空间后,数组的元素自然的从上往下排列存储,整个数组的地址为首元素的地址。...模拟该数组的内存存储细节如下: ? 注意:字符在内存中是以对应ASCII值的二进制形式存储的,而非上表的形式。 在这个例子中,数组x的地址为它的首元素的地址0x08,数组ca的地址为0x03。...使用场合:五子棋,俄罗斯方块等, 假设: char Y[3][2]={ {‘A’,‘B’}, {‘C,‘D’}, {‘E,‘F’} }; 内存情况: ?
一、主函数 C语言的主函数是main()函数,有且仅有一个。 例如: int main() { return 0; } 是一个标准的C语言主函数。...二、输入、输出函数 C语言中的输出函数为printf,输入函数为scanf,使用前需要引用头文件#include 。...(2)C语言中的常见单位(从小到大): bit(比特)<byte(字节)<KB<MB<GB<TB<PB<..... 1byte = 8bit 1KB = 1024byte 1MB = 1024KB...四、变量和常量 4.1 变量的使用 C语言中常量是不变的值,变量是可变的值 创建变量的使用: int age = 10; char ch = 'w'; float weight = 45.5f...4.3 常量 C语言中的常量分为字面常量,const修饰的常变量,#define 定义的标识符常量,枚举常量。 (1)字面常量:100,'w',3.14等。
领取专属 10元无门槛券
手把手带您无忧上云