C语言
文章平均质量分 51
青出于兰
这个作者很懒,什么都没留下…
展开
-
C语言| 冒泡排序-从大到小-
每轮中第n次比较是新序列中第n个元素和第n+1个元素的比较(假如n从1开始)。4 for循环,一共比较n-1轮,每轮比较n-1-i次,所以内嵌一个for循环。内嵌的for循环,放置if语句,如果a[j]<a[j+1],互换这两个数。//a[0]是int型,占4字节,所以总字节数除以4等于元素的个数。2 i比较的轮数 j每轮比较的次数 temp交换数据的中间变量。每次比较一轮,就会找到序列中最大的一个元素或者最小的元素。1 定义数组a,存放要排序的数值 n数组元素个数。//存放数组a中元素的个数。原创 2024-06-25 14:38:04 · 485 阅读 · 0 评论 -
C语言| 数组元素的删除
数组元素的删除,是先删除元素,再把后面的元素往前移动一位,而本程序代码是直接覆盖被删除元素的值。//删除值,后面的每一个元素都要往前移动一位,直接覆盖掉删除的元素。数组元素的插入,是先移动要插入元素位置后面的所有元素,再插入新元素,长度+1。//要删除的下标元素不在数组里面。printf("请输入要删除元素的下标:");//存放删除元素后的数组。int index;//要删除元素的下标。//for循环,输出删除元素后的数组。同数组元素的插入差不多。原创 2024-06-23 17:29:47 · 526 阅读 · 0 评论 -
C语言| 数组的插入
if数组的最大下标i < index,说明插入元素的位置在数组中不存在,系统随机分配一个垃圾值。else if 数组的最大下标i == index,说明把新元素插入到数组最后面,无需移动位置。else 数组最大下标i > index,说明要把插入新元素位置后面的每一个元素往后移动一位,//用来存放插入数字后的新数组,因为插入一个数,长度为10。1 定义数组a,数组b存放插入元素后的数组,下标index 值num 循环变量i。printf("请输入插入值的下标:");//for循环,输出插入元素后的新数组。原创 2024-06-23 17:09:25 · 903 阅读 · 0 评论 -
C语言| 数组的折半查找
3 此时a[2]=87,而key > a[2]=87,说明256在87的右边,则往右边查找。high = mid-1 = 2, 更新mid =(low+high)/2=1。low = mid+1, 更新mid=(low+high)/2,high不变。high = mid-1,更新mid=(low+high)/2,low不变。low = mid+1 =2, 更新mid =(low+high)/2=2。low = mid+1=4, 更新mid=(low+high)/2=5;原创 2024-06-22 16:35:45 · 1368 阅读 · 0 评论 -
C语言| 数组的顺序查找
/求出数组中所有元素的个数。printf("下标 = %d\n", i);1 定义变量 数组a,n表示数组的个数, m要查找的数字。查找数组a中第一次出现数字m的下标,并输出该下标;5 遍历完整个数组,都没有找到m,输出sorry。//存放数组a中元素的个数。2 用sizeof()函数,求出数组元素的个数。printf("请输入一个数字:");3 从键盘中任意输出一个数字m,进行查找。如果没有则输出sorry。找到了m,输出其下标。原创 2024-06-22 14:21:01 · 387 阅读 · 0 评论 -
C语言| 数组倒置II
printf("数组倒置后的结果为a[%d] = %d\n", i, a[i]);printf("数组倒置后为a[%d] = %d\n", i, a[i]);printf("数组a[%d] = %d\n", i, a[i]);//循环变量2, j的值表示数组的最后一个元素下标。//循环变量,i表示数组下标,从0开始。// 表示数组的第一个元素的下标。//表示数组的最后元素一个下标。//数组元素的输出需要for循环。数组元素个数为奇数,最中间的元素不变。//数组倒置,互换算法。//输出倒置后的数组。原创 2024-06-22 13:42:05 · 445 阅读 · 0 评论 -
C语言| 数组倒置算法
printf("数组a[%d]倒置后为%d\n", i, b[j]);printf("数组a倒置后为%d\n", b[i]);2 用for循环,把数组a的最后一个数,赋值给数组b第一个元素。printf("请输入10个整数,给数组初始化:");//把数组a最后一个元素,赋值给数组b第一个元素。1 定义两个数组a[5] b[5],两个循环变量i j。//从键盘给数组赋值初始化,用for循环。原创 2024-06-22 13:03:20 · 312 阅读 · 0 评论 -
C语言| 宏定义
这是固定格式,一般放在#include <stdio.h>后面,标识符是临时的符号,预处理之后就不存在了。//scanf中,double只能用%lf。宏所表示的常量可以是数字、字符、字符串、表达式。其中最常用的是数字。宏定义最大的好处是方便修改常量,标识符一般都是用大写字母表示。放在哪个位置,就表示前面宏定义的常量到此结束,不能再引用了。#undef 后面的标识符和宏定义的标识符是一样的。printf("请输入%d个数:", j);printf("请输入圆的半径:");原创 2024-06-22 12:32:55 · 244 阅读 · 0 评论 -
C语言|十进制数转换任意进制数
/得到下一次除2取余的数,直到m=0退出循环结束。//因为除2取余,最后要把结果倒过来才是二进制数,所以从后往前输出。//除2得到的余数,放到数组a中。就是m不断地除以2,写下每一次除完的余数,能整除就是0,不能就是1。2 for循环,把余数从后往前输入,输出数组a[i],得到二进制数。printf("您想将输入的十进制数转换成几进制:");1 定义一个数组a[100],先归0,再存放运算过程中的余数。//又因为i最后多加了一次,所以从i-1开始。1 while循环,表示十进制除2取余数的过程,原创 2024-06-14 16:32:09 · 273 阅读 · 0 评论 -
C语言| 找出数组里最小数,并指出位置
/因为跟个数有关,所以是cnt。4 假设第一个数a[0]为最小数,再用for循环,一个个对比判断得到最小数。printf("请输入%d个整数,以空格隔开:", cnt);//min 初始化为第一个元素。1 键盘输入n个整数,需要变量cnt来计算个数,数组存放数字。//存储最小数的下标。实现输入n个整数,输出其中最小的数,并指出它是第几个数。//存储输入数的个数。printf("您想输入几个数:");//数组初始化,给数组赋值用for循环。//从第二个元素开始比较。原创 2024-06-14 15:28:56 · 705 阅读 · 0 评论 -
C语言| 编程获取数组的长度
这样不管数组是增加还是减少元素,sizeof(a) /sizeof(a[0])都能自动求出数组的长度。printf("数组b的长度cnt = %d\n", cnt);字符串中有一个strlen()函数可以求出字符数组中字符串的长度。用sizeof也可以获得整个数组在内存中所占的字节数。总的字节数除以一个元素所占的字节数就是数组的总长度。原创 2024-06-13 16:46:24 · 442 阅读 · 0 评论 -
C语言| 把数组a赋给数组b
正确的写法是用for循环,将数组a中的元素一个一个赋给数组b的元素。把数组a赋给数组b,原创 2024-06-13 16:28:40 · 978 阅读 · 0 评论 -
C语言| 数组
printf("请输入5个整数:");数组的下标从0开始,下标又表示数组的长度。直接定义一个数组,并给所有元素赋值。在VC++6.0中的输出结果为。需要通过键盘给数组赋值。原创 2024-06-13 16:04:55 · 347 阅读 · 0 评论 -
C语言| 回文数字
⑤ sum=sum*10+m%10 即sum=2343*10 +2=23432,然后m /=10,即m=0。④ sum=sum*10+m%10 即sum=234*10 +3=2343,然后m /=10,即m=2。③ sum=sum*10+m%10 即sum=23*10 +4=234,然后m /=10,即m=23。② sum=sum*10+m%10 即sum=2*10 +3=23,然后m /=10,即m=234。① sum=sum*10+m%10 即sum=0 +2=2,然后m /=10,即m=2343。原创 2024-06-11 15:52:52 · 370 阅读 · 0 评论 -
C语言| 斐波那契数列又称黄金分割数列
1 定义变量,项数n, 第n项f3, 循环变量i, 第n-1项f2 和 第n-2项f1。斐波那契数列又称黄金分割数列:0, 1, 1, 2, 3, 5, 8, 13,int f1, f2;//分别为第n-2项和第n-1项。5 从第4项的数开始,f3= f1+f2, 所以用i=3循环。printf("请输入您想要求的项数:");程序的功能是输出“斐波那契数列”第n项的值。//斐波那契数列的项数。//初值为第2项的值。//初值为第3项的值。4 最后一个else里面放入for循环。2 提示用户输入项数的语句。原创 2024-06-11 15:31:52 · 403 阅读 · 0 评论 -
C语言| 计算1+2+3+4+…+100之和
printf("1+2+3+4+…+100之和为:%d", sum);两者没有什么大的区别,for循环和while循环可以互相替换。用while循环,进行计算1+2+3+4+…while循环,定义变量,再赋值变量,才可以使用。计算1+2+3+4+…+100之和的程序。for循环,逻辑性更强,用的更多。死循环,用while(1)更方便。while和for循环的区别。while(表达式)原创 2024-06-05 15:24:20 · 658 阅读 · 0 评论 -
C语言| 小写字母金字塔
/ch[i]存放的是26个小写字母,ch[j]存放的是截止到用户输入的字母。只有这样,才能提高自己上机的能力,每个人的理解都不一样,出错的地方也不一样。printf("根据您的输入,以下是程序为您输出的字母金字塔:\n");for循环---打印降序小写字母,j<i-1,降序输出ch[i-j-2]//判断用户输入的合理性,因为不止判断一次,所以用while循环语句。printf("您输入的内容有误,请重新输入:");//定义最大的小写字母,来判断总行数。//判断用户输入的小写字母,来判断行数n。原创 2024-06-04 16:23:58 · 363 阅读 · 0 评论 -
C语言 | 输出26个大写字母
利用for循环和ASCII码进行大写字母的输出。//因为i从1开始,所以要减1。//为了分行输出结果。输出控制符不同,运行的结果也不同。原创 2024-06-03 20:41:15 · 743 阅读 · 0 评论 -
C语言| 字母金字塔
/难点就是找到i-j-2的规律。3 第一个for循环,i为遍历字母的循环变量,把26个字母按顺序放入数组中ch[i] = 'A'+i;ii for --- 控制升序打印字母, j<i字母在第几个位置,按顺序打印字母。iii for --- 控制降序打印字母,j<i-1,降序输出ch[i-j-2]//n代表输出的行数,或者说最大字母是26个字母中的第几个字母。//第三个内嵌for循环,控制降序打印字母,比升序少一个,所以-1。2 升序输出的字母的个数==行数==最大字母在26个英文字母中排的位置序号。原创 2024-06-03 20:25:10 · 1144 阅读 · 0 评论 -
C语言| 输出菱形*(梳理篇II)
星号*为等差数列,公差为-2,an=a1+(n-1)*d,所以第i行的星号为{n-2}+(i-1)* -2== {n-2i}个。下三角形的首行* == 上三角形倒数第二行 == 对称行的前一行 == 2*{(n+1)/2 -1}-1 == {n-2}个。星号*为等差数列,公差为2,an=a1+(n-1)*d ,所以第i行的星号为1+(i-1)*2= {2*i-1}个。//上面的三角形,包含对称行,行数==(n+1)/2。3 下三角形 行数==上三角行数-1=(n+1)/2 -1。//定义行数的循环变量。原创 2024-06-03 16:00:07 · 968 阅读 · 0 评论 -
C语言| 输出菱形*
输出菱形。原创 2024-06-02 17:29:18 · 606 阅读 · 0 评论 -
C语言| 输出*三角形
当遇到N的情况,不知道如何下手,可以先给N赋一个值,从具体的事物开始分析,最后会得到抽象的结果。③ 从每行输出的星号个数来看,每行输出星号的个数是一个首项为1、公差为2的等差数列,即输出空格和输出星号,要将它们分开,不用考虑空格数和星号个数之间的关系。//行循环变量i,空格和星号循环变量。//对每一行,将左边的空格加上星星,就是图形。//行数由用户输入的n决定。② 从每行输出的空格个数来看,若。星号右边的空格不用考虑。即第i行要输入的星号个数为。考虑星号和星号左边的空格。④ 编程时我们只需要。原创 2024-05-31 16:41:31 · 790 阅读 · 0 评论 -
C语言| 求1到100之间奇数的平均值.
最后直接求平均数average = 1.0*sum / count;最后直接求平均数average = 1.0*sum / count;设置变量i =1,每次加2,求奇数,并相加,计算奇数的个数。直接遍历100个数字,用 i% == 1来判断是不是奇数。//直接计算奇数之和,和奇数的个数,再求平均值。i 是奇数,每次相加,并计算个数。求1到100之间奇数的平均值.在VC++6.0的运算结果为。原创 2024-05-31 16:32:33 · 387 阅读 · 0 评论 -
C语言| 三个整数从小到大排序
printf("这三个整数从小到大排序为:num1 = %d, num2 = %d, num3 = %d\n", num1, num2, num3);这三个整数从小到大排序为:num1 = 33, num2 = 45, num3 = 66。这三个整数从小到大排序为:num1 = 33, num2 = 88, num3 = 99。这三个整数从小到大排序为:num1 = 22, num2 = 33, num3 = 88。//如果num1比num2大,那么交换num1, num2;以此类推,直到比完了所有的数。原创 2024-05-31 16:27:28 · 1210 阅读 · 0 评论 -
C语言| for嵌套循环
printf("两情若是久长时,又岂在朝朝暮暮。不管是一个for循环,还是多个for循环嵌套,运行操作顺序都是一样的。两情若是久长时,又岂在朝朝暮暮。两情若是久长时,又岂在朝朝暮暮。两情若是久长时,又岂在朝朝暮暮。两情若是久长时,又岂在朝朝暮暮。两情若是久长时,又岂在朝朝暮暮。两情若是久长时,又岂在朝朝暮暮。两情若是久长时,又岂在朝朝暮暮。两情若是久长时,又岂在朝朝暮暮。两情若是久长时,又岂在朝朝暮暮。两情若是久长时,又岂在朝朝暮暮。两情若是久长时,又岂在朝朝暮暮。两情若是久长时,又岂在朝朝暮暮。原创 2024-05-31 16:26:16 · 336 阅读 · 0 评论 -
C语言| 求出1!+2!+3!+…+n!的和。
i++) // 第一个for循环--每次循环把阶乘相加到sum中。j++) // 第二个for循环--求每一个数的阶乘。//求完之后就立马把它加到sum中。int m = 1;//用于计算每个数的阶乘。int n = 0;printf("请输入n的值:");原创 2024-05-31 16:24:44 · 236 阅读 · 0 评论 -
C语言| 100元购买100只鸡
(100 == gj*5+mj*3+xj/3) 公鸡 母鸡 小鸡 分别乘自己的价格,加起来要等于100元。(xj%3 == 0) 小鸡的数量除完3的结果要等于一个整数,余数为0。1 先算出100元分别可以购买多少只公鸡 母鸡 小鸡,得到变量的限制范围。现在给你100元,要你买回100只鸡,求出公鸡、母鸡、小鸡分别为多少只。2 多层嵌套for 循环,小鸡的数量为 xj = 100-gj-mj;两个条件要同时成立,用到与&&假设公鸡5元一只,母鸡3元一只,小鸡1元3只,3 最中间放入判断语句,包含两个条件。原创 2024-05-31 16:23:34 · 532 阅读 · 0 评论 -
C语言| switch语句 电梯开门楼层
printf("该楼层不存在,请重新输入\n");printf("1层开!printf("2层开!printf("3层开!printf("请输入您想去的楼层:");switch语句,break可以跳出case。原创 2024-05-31 16:17:43 · 188 阅读 · 0 评论 -
C语言| 100元换成50元、20元、10元有几种方案?
用50元、20元和10元换算100元有 0张50元,0张20元,10张10元。用50元、20元和10元换算100元有 0张50元,4张20元,2张10元。用50元、20元和10元换算100元有 0张50元,5张20元,0张10元。用50元、20元和10元换算100元有 1张50元,0张20元,5张10元。用50元、20元和10元换算100元有 1张50元,2张20元,1张10元。用50元、20元和10元换算100元有 2张50元,0张20元,0张10元。求出用50元、20元和10元换算100元有几种方式?原创 2024-05-31 16:15:38 · 346 阅读 · 0 评论 -
C语言| 输出1~1000之间所有的完全平方数。
如果num开根号,再通过num*num==i,来判断是否是完全平方数。//通过num*num==i来判断是否是完全平方数。//如果num不是完全平方数,开完根号肯定是小数。利用for 循环,在1000个数字里面直接找num。for循环遍历,直接用 i*i 来得到完全平方数。//存储每个数的二次根。利用sqrt()函数,来判断是否是完全平方数。输出1~1000之间所有的完全平方数。原创 2024-05-31 16:13:57 · 292 阅读 · 0 评论 -
C语言| 组成不能重复数字的三位数
求出1、2、3、4四个数字能组成多少个互不相同且无重复数字的三位数?=b放在循环体最中间。思路:个位 十位 百位 的取值范围小于5。循环体结构不难,难的是判断条件。且这三个位置不能取相同的数字。原创 2024-05-31 16:09:34 · 245 阅读 · 0 评论 -
C语言| 求1到100之间所有能被3整除的数之和
printf("1到100之间所有能被3整除的数之和为:sum = %d\n", sum);设置变量i =3,for循环,每次i 加3,并相加求和,直到遍历完100个数。1到100之间所有能被3整除的数之和为:sum = 1683。直接在100个数字里面,找能被3整除的数字。for循环里面,判断条件是i%3 == 0。求1到100之间所有能被3整除的数之和。原创 2024-05-31 16:06:55 · 1447 阅读 · 0 评论 -
C语言| n的阶乘相加
4)当i=4时,m=1×2×3×4, sum=1+1×2+1×2×3+1×2×3×4。3)当i=3时,m=1×2×3, sum=1+1×2+1×2×3。假如n=4:m = m * i;1 定义m,每次遍历循环,都乘自己,得到n!2)当i=2时,m=1×2, sum=1+1×2。2 每次乘法得到的阶乘再相加,得到各阶乘相加的和。printf("请输入n的值:");1)当i=1时,m=1, sum=1。逻辑性较强,建议记住。原创 2024-05-31 15:48:22 · 410 阅读 · 0 评论 -
C语言| 求1+2+3+4+…+100的和。
这个程序的功能是实现求1+2+3+4+…原创 2024-05-31 15:34:27 · 279 阅读 · 0 评论 -
C语言~求解一元二次方程
一元二次方程的求解过程跟数学解题思路是一致的,先判断,再求解。因为需要开根号,要用到。原创 2024-05-23 16:25:21 · 220 阅读 · 0 评论 -
C语言~分数等级&三个数排序
这个程序的功能是“求考试成绩的等级”。即,输入一个考试成绩,如果为90~100分,就输出“优秀!如果为80~89分,就输出“良好!如果为60~79分,就输出“及格!如果为0~59分,就输出“补考!继续努力!如果分数不在这些范围内就输出“请重新输入!原创 2024-05-23 18:05:30 · 240 阅读 · 0 评论 -
初识C语言真面目
最近开始把C语言重新温习一遍,主要参考书籍是《C Primer Plus》,会坚持输出自己的心得体会。本书总共有17个章节,会把每一章的相关内容都放在一起,所以是不定期更新文章。毕竟每个章节的知识难易程度都不一样,学习吸收的速度也不同。热烈欢迎来自不同地方的网友们指点,互相交流,提高技术~ 不识庐山真面目,只缘身在此山中。今天为大家揭开有关C语言神秘的面纱,主要的知识点就是名词解释:【可移植性】【源代码文件】【目标代码文件】【可执行文件】 传说中的编译7步骤 编译器和链...原创 2020-10-28 20:51:10 · 694 阅读 · 0 评论 -
C语言程序~系统给每个数据类型分配了多少字节的空间
功能:系统给每个数据类型分配了多少字节的空间。日期:20240508。原创 2024-05-08 16:02:22 · 188 阅读 · 1 评论 -
C练习- - -求1到100之间的奇数的和、个数、平均值
求1到100之间的奇数的和、奇数的个数、奇数和的平均值具体实操:/* 2021/12/21,10:46 目的: 求1到100之间的奇数的和、个数、平均值。*/#include <stdio.h>int main(void){ int i; int count = 0; int sum = 0; float average = 0.0; for(i=1; i<101; ++i) ...原创 2021-12-21 10:57:18 · 2123 阅读 · 0 评论 -
for和if的嵌套使用
具体实操:/* 2021/12/20,9:04 目的: 测试for和if的嵌套使用。 (题目)求1~100之间能被3整除的所有整数之和。*/#include<stdio.h>int main(void){ int i; int sum = 0; for(i=3; i<=100; ++i) { if(i%3 == 0) sum = sum + i...原创 2021-12-20 10:51:35 · 5712 阅读 · 0 评论