自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 收藏
  • 关注

原创 输入一个非负整数,输出逆序数

难点:n%10取余后,能得到最后一位数,但n的值会发生变化,循环后续的会随着n的变化产生错误。所以此时要用一个新的变量d去替代n来做取余,而n仅做/10去不断丢掉最后一位数。注意每次循环结束后,要把n的值再赋给d。因为最后一位数字输出后,不再输出横杠,要设置好n的范围。思路:n%10就能得到n的最后一位数,得到之后输出。在一定的条件下,多输出一个横杠连接它们,最后一个数之后不带横杠。

2023-07-31 17:10:59 722

原创 C语言整数分解

思路:先获取x的位数,并确定位数对应的10的n次方,定义为i,用x不断除以i获取首位并输出,并用x%i的方式丢弃首位,i/=10不断对应x的位数,直到i已经不足10。难点:这题其实分为三个小题:如何得到x的位数,如何得到x的首位,什么时候结束循环?要分成小个小题分别写出代码,思路要清晰。

2023-07-30 11:07:29 670

原创 输出前50个素数

在本题目中,定一个可变量prime用于判断是否是素数,接着在最里层循环用x%n的方法逐个试x,一旦发现x能被n整除,跳出循环,并使x+1,开始试x+1……外层循环则用于不断递增x的值和count的值,直到count==50后,表示50个素数已经输出完成,则不再需要把x再递增,跳出循环并结束程序。循环嵌套对于新手来说真的太难理解了,而且想的越深入越觉得绕。对于我来说,我只能先理解最里面的一层循环,再逐层去理解。先用循环语句持续判断,不断输出所筛的素数,再定义一个计数变量count,当count到50时截止。

2023-07-27 10:16:51 1086

原创 输入一个数,判断是否是素数(一般筛法)

思路:用循环语句一个个试,但只需要试到X的平方根即可(后续等语法和算法提升一下,再试试其他筛法)。难点:注意设置break跳出循环,避免重复计算。

2023-07-26 14:33:42 265

原创 用C语言计算[200-400)之内所有不能被3整除的数的和

思路:定义两个变量,一个n用于计数,并且逐个去试能否被3整除;一个sum用于加总全部不能被3整除的数。难点:sum一定要初始化,否则计算结果会错误。

2023-07-26 09:35:15 2299

原创 用for语句算n的阶乘

思路:要有三个变量,一个是用户输入的变量n,一个是输出变量x,一个是用于计数的变量i。技术变量i不断递加,并与之前的i相乘,算出最后的结果x。难点:循环的时候,要把输出值初始化为1,否则0乘以后续的所有数,结果仍为0。

2023-07-24 09:32:59 4002

原创 用while语句求平均数

整数的除法可能会有小数部分,用双精度浮点数定义最后的结果并输出,更加准确。特别要注意在C语言中,整数和整数做除法,只会保留整数部分,此时用double强制转化被除数的类型,就可以保留小数部分。用while语句求平均数,当输入的数字不等于-1时,一直把后面输入的数字加到前面的数字之和上,并单独用一个n来计数。

2023-07-23 10:49:13 2629 1

原创 if和else嵌套练习

涉及到的判断越多,程序里的大括号就越多,越难以理解。用级联的模式,尽可能对齐else语句,使整个代码更容易阅读。用if和else来判断3个数的大小。

2023-07-21 14:36:45 162

原创 用if函数计算两个时间的差

如果两个时间的分钟差是负数,可以理解为这两个时间除了小时不同,还有1个小时不到X分钟的差值。所以用60+(分钟差)的形式表示,同时小时要-1。如果两个时间的小时差是负数,代表后面的时间已经跨天了,说明有一天不到X小时的差值。所以用24+(小时差)的形式表示。如果两个时间的分钟差和小时差都是正数,是最简单的情况,相减直接输出结果就行。小时和分钟分别相减,分钟不够减就向小时借位,小时不够减就向“一天”借位。用IF函数来计算时间差。怎么计算跨天的时间。

2023-07-20 11:33:27 1244

原创 BCD数解密(不含A-F)

BCD数是用一个字节来表示两位十进制数,每四个比特表示一位十进制数。现要输入一个[0,153]之间的数字,确保不出现(A-F)的十六进制数。二进制和十六进制和十进制之间的转换关系。例如:18(D)/0001 0010/0x12/BCD=10都是18这个十进制数在不同进制中的表达。拆分这个十进制数,先除以16,得到BCD数的十位,再除以16取余,得到BCD数的个位。

2023-07-19 15:33:44 1738

原创 C语言中三位逆序数的计算

百位、个位的分离方法比较简单,通过除法、取余法就可以分离。十位的分离方法有两种,一种是先除以10,撇弃个位后,再除以10取余,分离出十位。另一种是用输入的数字。输入一个数字,分离百位、十位、个位,逆向排列后,新的百位乘以100,十位乘以10,加上个位得到逆序数字。新手上路,把遇到的问题一个个写下来,一方面重新理一下自己的思路,另一方面也分享给需要的人。

2023-07-19 09:54:20 1624

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除