题目
思路:这个题目重点在怎么去把这个ISBN号码正确输入,其实这个题目已经提示了我们一点信息:输入描述里说,是一个字符序列,其实我们就可以把这个ISBN号码存到一个字符数组里,至于那个相乘算最后一个数字,我们可以用循环来解决。输出的话,也是比较麻烦的。首先,我们要判断那个余数是否为10,如果是就要变成X,其次再来判断最后一个数是否相等,如果相等,就打印Right,如果不相等就得打印正确的,注意还要打印我们算出来的那个数。(到这里你可能认为,这个题目不是很难,但是我个人认为,这个题是比较恶心人的,待会看看运行结果就知道是怎么恶心人的了,当然这也有一部分是我的水平不够!😭)
代码演示:
由于篇幅有限,只能展示main函数,上面还是头文件#include <stdio.h>?这里我用的是for循环,但是如果我用while循环,就会运行超时
这两个代码在功能上应该是一样的,只不过while循环稍微多定义了一个变量,就会这样。(真服了,这个题目硬生生花了我几个小时才搞出来)?
题目:
思路:其实这个题是比较简单的,按照要求输入之后,根据条件来判断是输出哪一个。(可以用swtich,也可以用if.....else....)?
代码实现:
注意一下:我们以后在写小数的时候,个人建议用double类型,因为有的float类型可能运行不过去。?
我们可以先观察一下这四个题目,我们会发现前面两个是一类,后面两个是一类。
前面两个是关于单个数据的存储相加输出,后面两个是关于多组数据的存储相加输出。
具体的,我们就直接看题目来分析,这两种情况。
题目
思路:这个题目是比较简单的,就是用一个for循环生成1~n的数字,并且用负号处理一下就可以了。
代码演示:
题目:?
思路:这个题目和上面那个是同样的配方,同样的味道,不同的名字罢了。也是用for循环产生1~n的数字,然后用1去除以该数字,但是这里有一个要注意的点,我们要用1.0去除,而不是1,因为C语言中的除法分为整数和浮点数,这里只有用浮点数才可以。(具体的我就不细讲了,大家想知道可以去看我前面写的文章C语言数据类型和变量(下)-CSDN博客)
代码演示:
题目:
区别:我们在写这个题目的时候就会发现与前两个题目有所不同,前面两个题目用for循环生成数据之后就可以存起来,而这个题目在生成数据之后要先存起来,后面不断地更新。(代码写出来更加清晰)
思路:这里其实有两个方法。
法一:分子是不变的,分母是我们可以找规律的找出来,会发现是奇数的增长,但是有正负之分,我们就可以用前面那个方法来写。(利用flag来判定)
法二:我们发现最后给的分母表达式,其实就是整个分母的公式。利用这个公式也可以非常顺利的写出来。
代码演示:
法二:
?法一:
大家可以细细体会一下,其实我个人更喜欢第二种方法,毕竟这个只要套公式,属于那种无脑型。不需要考虑太多。?(当然这里只是针对这个题目而言)
题目:
思路: 一样的,这个题目也是先要生成1~n的数字,然后再相加,但是这个相加要加两次,一次是本次计算的,一次是从1开始的。
代码演示:
好了,这个就是关于多组数的存储相加的全部内容了。?