题目1:使用函数输出水仙花数
- 5.判断重新构成的数re_number与number是否相等,若相等,则返回1,否则返回0。
3.本题调试过程碰到问题及PTA提交列表情况说明。
- 问题:忽略了另一个函数的要求是“按从小到大的顺序打印出给定区间(m,n)内所有的水仙花数”,对n多进行了一次判断。
题目2:使用函数输出指定范围内的Fibonacci数
- 2.定义整型变量time=0;//用来计算题目给定范围内Fibonacci数的个数;
3.本题调试过程碰到问题及PTA提交列表情况说明。
- 解决方法:将代码重新编写,第二个函数先算出在题目限制范围内Fibonacci数的个数,然后根据Fibonacci数个数利用循环语句找出[m,n]内的所有Fibonacci数。
- 5.定义浮点型变量product,定义整型变量i;
3.本题调试过程碰到问题及PTA提交列表情况说明。
本题未遇到困难,定义一个函数计算阶乘,主函数引用三次该函数就可以算出结果。
2.我的代码、互评同学代码截图
3.我和同学代码不同在哪里?有哪些各自优势?你更喜欢哪种代码风格?如果同学代码有错的也请帮忙指出来哪里出问题。
- 我的代码:在最后的输出部分利用goto直接跳出所有循环,虽然方便快捷,但我个人觉得有些投机取巧,goto还是尽量少用。
- 梦冰的代码:梦冰的第一个自定义函数,对素数的判断,其实在p%2==0时就能退出循环,但梦冰的却是一直对p做对i的取余运算;第二个自定义函数的代码比我的简单有效,我用了两个if判断语句和两个for循环语句,使代码显得冗长。
- 综上,我较喜欢梦冰的代码。
1.1 C语言哪些数据类型?
1.2 字符型数据需要注意地方?
- 1)字符型整型变量和字符型变量的定义和值都可以互相交换;
- 2)互换整型变量和字符型变量的定义和值时,整型数据的取值范围是有效的ASCII码;
- 3)英文字母的大小写是不同的字符型常量。
1.3 自增自减运算符?
- 1)设n是一个整型变量并已赋值,则n++和++n都相当于n=n+1,不同的是++n表示的是n加一后的值,而n++仍表示原来n的值,但这时n已经等于“n+1”的值。n--与--n同理。
- 2)自增自减运算符的运算对象只能是变量,不能是变量或表达式。
1.4 运算符优先级?
- 1)如果操作数两侧运算符的优先级相同,则按结合性决定计算顺序;
- 2)可以用圆括号改变运算符的执行次序。
1.5 C语言哪些表达式?课堂派哪里做错,做错的请在这里分析原因?
- 1)算术表达式,赋值表达式,关系表达式,逻辑表达式,条件表达式,逗号表达式。
- 条件表达式的形式: 表达式1?表达式2:表达式3.
- 逗号表达式的一般形式: 表达式1,表达式2,...,表达式n
按照顺序计算每个表达式,最后将表达式n的值作为符号表达式的值,将表达式n的类型作为逗号表达式的类型。
- 2)课堂派第六题,忘记了10和4都是整型常量,尽管x为浮点型,但10/4的结果还是整型,在给x赋值时才变为浮点型。
- 3)课堂派第九题,自增符号在后面的运算与在前面的运算不一样,j++的结果应该仍为3。
- C语言中整数的八进制、十六进制的表示方式。
- 数据类型的自动转换遵循一定规则,在赋值运算时,赋值号两侧数据的类型最好相同,至少右侧数据的类型比左侧数据的类型级别低,或者右侧数据的值在左侧变量的取值范围内,否则会导致运算精度降低,导致结果错误。
- 数据类型的强制转换,一般形式是(类型名) 表达式,类型转换都只是为了本次运算的需要,对数据类型的临时转换,并没有改变数据的定义。
2.本周的内容,你还不会什么?
- 对位运算还不是很了解;
- 对八进制、十六进制的转换也不太懂。
3.1 哪题做错了,怎么改?
- 1.7-3 二进制的前导的零
- 忘记十进制转二进制怎么计算,后来纠结在算出的结果是二进制数的逆序。
- 请教同学,研究后发现就算结果是二进制的逆序数,但位数是相同的而且二进制数除了0,第一位一定是1,那么以此为条件可以算出二进制数的位数,然后与32相减,得出前导的零的个数。
- 当输入空语句和多个空格时不能正确输出,但目前还未解决。
3.2 考试结果满意么,怎么改进?
不满意,对嵌套循环的是用还是不太熟练,而且这次考试的状态不太好,看到题目时脑子一片空白,注意力不集中,或许是平常做题花的时间太长,以后做题时会更加专注,在读题解题方面也需要加强。
- 十进制转二进制就是把十进制数不断除二取余直到除以二等于1时停止;
- 大部分嵌套循环语句的内循环条件依靠外循环的条件。【然而总是忘记】