第一小题(代码截图+运行结果截图):
第二小题(代码截图+运行结果截图):
第三小题(代码截图+运行结果截图):
第四小题(代码截图+运行结果截图):
第五小题(代码截图+运行结果截图):
第六小题(代码截图+运行结果截图):
第七小题(代码截图+运行结果截图):
第八小题(附加题:代码截图+运行结果截图):
五、实验结果分析
第一小题 (不少于20字):
结果正确,就是for+if的类型,for循环中遇到符合类型的数就输出,输出交给if来执行。
第二小题 (不少于20字):
结果正确,首先用if判断是否有误,有误直接pass,是的话进入for循环,在循环中用if判断是否为素数。
第三小题 (不少于20字):
半对,用两个for循环,外面的for循环执行2到10的过程,里面不断判定是否是素数,里面如果不是素数便让k=1,让其无法打出不是素数的数,最后在循环前头还要加count=1,让第一个数没有逗号。
第四小题 (不少于20字):
结果正确,用for循环来执行寻找正因子,里面用if不断判定是否是其正因子,并让其相加,得出结果。
第五小题 (不少于20字):
结果正确,for循环寻找十万位到十位的数字,并让其相加,在for循环开头设置一个sum让其补上缺失的个位数,最后一起相加得出结果。
第六小题 (不少于20字):
首先判定a%b等不等于0,不等于就进入while循环,执行辗转相除法,得出结果,如果等于零,直接按照一般方法用c语言表示得出结果。
第七小题 (不少于20字):
对于输入的N,我们先算两个数A=10^(N-1),B=10^N。要计算这两个数,我们可以调用pow函数,即A = pow(10,N-1),B = pow(10,N)。用外层循环遍历[A,B)之间的所有整数i,如 for (i = A; i <B; i++) {...}。对每一个取到的i,用里层循环计算i的各个位数字的N次方的和sum,如果sum == i,则输出该数;否则,继续外层循环。
第八小题(附加题):
结果正确,直接开始取各个位的数字,让后用if判断万位和个位是否相等,千位跟十位是否相等。
六、实验总结 (不少于50字)
我学习到了for循环的用法,比如里面循环结束后才开始外面的循环,外面循环开始会重新刷新里面循环。我遇到的问题就是题目的第三题,我是半对,但是我无论如何改动都一样,结果正确,中间无论如何都是错的,我也找不到原因(我想大概又是那种要实现现实生活中可以忽略的问题)。