织梦系统网站地图模板下载中国最好的外贸公司
织梦系统网站地图模板下载,中国最好的外贸公司,wordpress做外贸网站,福田时代汽车官方网站1.最大公约数和最小公倍数的组合问题 #xff08;1#xff09;在调试的过程中涉及到很大的数据#xff0c;我们我们在定义变量的时候定义为long long类型
#xff08;2#xff09;这个里面我们自定义了max2用来求最大公约数#xff0c;min2用来求最小公倍数
#xff0…1.最大公约数和最小公倍数的组合问题 1在调试的过程中涉及到很大的数据我们我们在定义变量的时候定义为long long类型
2这个里面我们自定义了max2用来求最大公约数min2用来求最小公倍数
3我们核心是要求出最大公约数有了最大公约数和2个原始数据我们可以让2个数的乘积除以最大公约数就可以得到最小公倍数
4在求出最大公约数的过程中我们使用辗转相除法如果a%b的结果不是0就把b的值赋值给a把余数赋值给b,直到最后的余数是0我们最后返回b的值就是最大公约数。
2.改数字游戏
这个游戏还是利用循环取余数除法操作不断的累加等一系列的方法进行解决实际问题 这个题目时输入数据判断他的每个位上面的奇偶情况但是我们要注意的是不同的数位他所代表的数量级是不相同的 1这个里面我们设置b为最后的输出结果如果这个数位上面的数据是偶数无论他的位数多高都是0这个地方我们使用if循环满足奇数的条件就乘上对应的数量级不满足就不进行循环里的部分我们使用n来控制数量级无论是否满足条件都要进行乘10操作因为相邻的数位之间的差距是10这个量级
2我们的n%21既是判断这个数是否为奇数也是判断这个数据的最低位是不是奇数如果是就加上1不是我们就要判断比他高一位的数据这个时候我们先要把i*10,这个将来要乘上10位上的数进行除10把已经判断的舍去这样十位就变成了最低位一次循环下去。
3.判断输入的字符是否为字母包括大小写
在牛客网上面,有两道题目都是判断这个输入的字符是否是字母这个让我很意外认为一个相同的知识点为什么要考察2遍呢向老师请教了很长时间才发现这个里面暗藏玄机发现自己以前并不注意的细节请听我细细道来 我们首先来认识一下这个函数可以用来判断输入的字符是否为大小写如果是大写或者小写就会返回true上面写的返回值是int实际上是没有区别的因为C语言里面1代表true0代表假这两者本质上都表示一个意思,如果既不是大写也不是小写就会返回false;
这个库函数的使用需要包含我们的头文件ctype.h这样就可以进行判断
1单个输入
下面的这个题目是牛客网上面我做的第一道关于判断输入字符是否为字母的编程题目 这个代码的意思就是如果是字母就会输出yes,否则就会输出no;
当然我们也可以像下面的这样写的更容易理解一些 2多组循环输入 我们首先看一下我的错误案例 这段代码错误的原因就是因为无法过滤掉里面的空格所以他把空格也判断了一遍并且输出了因此我们要想办法解决输入的字符之间的空格的过滤
我在这里提供2种解决方案 第一种就是在输入的语句里面的%c的前面加上空格就可以过滤掉无用的空格其实我们自己可以进行尝试这个空格无论是加在%c的前面还是后面无论是加一个还是加多个都是可以实现这个过滤的效果的我们任选一种写法实现这个功能 还有一种写法就是scanf语句里面的内容正常写我们加上一句getchar(),这种做法同样可以实现过滤掉空白字符的功能为什么会这样呢我们有必要重新认识一下scanf和getchar的特殊用法
对于scanf这个库函数我们首先要明确scanf遇到空格与回车时会结束读取一般scanf读走输入数据后会留下如\n等的字符如果我们还要再次调用scanf的话缓冲区中还有\n此时scanf不等我们输入数据就把\n读走了从而不能达到我们的目的。下面看这个例子 这个时候如果我们输入2个字符字符之间有空格我们就无法输出空格后面的字符 加上getchar()之后这个问题就可以被解决了由此可见getchar()可以过滤空格那这道题目的循环判断就不难理解了。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/89447.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!