一. 第一题 7-1
1. 本题 pta 提交
2 设计思路
本题要求使用子函数求组合数,注意本题变量要求是双浮点型,在主函数中输入范围 m,n,子函数为求 sum 的阶乘,并在子函数中用组合数公式即可
3 代码截图
题目 2 7-10
1 本题 pta 提交
2 设计思路
本题要求打出遇到的 n 个数字不同的年份,先定义 num[4]={0},n[10]={0},并有一个 years=year,用 num 来储存 year 的每个数,然后在 i 循环中使用 n[num[i]]++, 当 n 不等于 0 时,k++,循环结束退出判断 k=dif,跳出大循环,如果不成立,则将 n 重新赋 0,并将进入下一个 year,k=0,最后输出应有的值。
3 本题代码
4 遇到的问题
之前代码的思路跟这个完全不一样,我是通过对年份的每一位数进行判断来执行 count++,结果后来发现细节太多,然后一直修改,修改到最后还是无法全对,所以改了思路。
3 7-5
1 本题 pta 提交
2 设计思路
本题要求近似求 pi,并给出了公式,本题难点主要在子函数的运用,分子为阶乘,分母为 3*5*7,循环几次即可。
3 本题代码
二截图本周的 pta 排名
三同学代码互评
1 互评同学
谢晔晖
2 我的代码、互评同学代码截图
3. 我和同学代码不同在哪里? 有哪些各自优势?你更喜欢哪种代码风格?如果同学代码有错的也请帮忙指出来哪里出问题
不同之处:我用的是 double 来定义子函数,而同学用的是 void,没有返回值,我觉得有返回值看起来比较清晰,还有就是对 pi 的定义同学采用了静态变量,省时,而我每一次都要重新输入比较麻烦,我比较喜欢同学对细节的处理,喜欢自己的思路。
四、本周学习总结
1. 对子函数的使用,子函数可以使代码看起来更简便。
2. 我们还学习了对指针数组的运用,但我在这里并没有太大体现,主要是对指针数组的不熟悉运用造成的,指针的地址还不太熟悉。
一 pta 实验作业
1.7-212. 设计思路
本题要求将方针循环右移,主要就是最后一个数与第一个数的对接。我先用一个数将最后一个数存起来,然后当其他循环结束时将最后一个放到第一个重复循环 n 次。
3 代码截图
4 本题遇到的问题
当时粗心在输出的时候将 j++ 写成了 i++。
第二题 7-5
1 本题 pta 提交
2 设计思路
本题要将字符串的长度排序,基本思路并不难,只是在输入和排序的时候需要用到新的东西,比如说 strcmp 比较输入字符是否为 #,还有就是 strlen 比较字符的长度,strcpy 将字符串对调,还有首函数的定义,记得要加上 string。
3 代码截图
4 本题调试过程遇到的问题
这边第一个输入循环时,忘记将 i++, 变成了 sum++, 导致答案都错误
第三题 7-14
1 本题 pta 提交
2 设计思路
本题要在一串数字中插入一个数,所以我定义了两个数组,让第二个数组比第一个大一位,先把他们全相等,然后找到插入位置,将其插入即可
3 代码截图
4 本题调试过程中遇到的问题
不知道为什么总是无法满分,每次提交的分数均有不同。
二,截图本周目集的 PTA 最后排名。
三、同学代码互评
1 互评同学
谢晔晖
2 我的代码、互评同学代码截图
3 我和同学代码不同在哪里? 有哪些各自优势?你更喜欢哪种代码风格?如果同学代码有错的也请帮忙指出来哪里出问题。
不同之处:对此问题时,我使用了两个数组解决问题(因为担心本来数组的空间不足),而谢同学用一个数组解决问题,我的思路比较清楚,而他的思路比较简单。
我比较喜欢谢同学的思路,因为思路比较简单,而我的思路因为担心空间不足显得较为复杂。
四、本周学习总结
1.1 一维数组与二维数组的运用
int a[10],b[10][20];/*b[10][20] 矩阵的运用 */
char c[10],ch[10][20];/*ch[10][20] 为一个字符串数组每个字符串有 20 个长度。*/
2.1string 字符串的运算
strcpy(a,b)将 b 复制到 a 上,保存到 a
strcmp(a,b)比较 a,b,相等则输出 0
strcat(a,b)将 b 接到 a 的后面并保存到 a
strlen(a)计算 a 的字符长度
不足之处:
string 的字符串运用的不够熟练。字符串写起来容易错。
--- 恢复内容结束 ---
一. PTA 实验作业
1.7-6 本题 pta 提交列表
2. 设计思路
定义 M,N,i,sum=0,count=0. 输入 m,n。套用双层循环并使 i=2 为初值(1 的话后面循环直接跳出),并在 i 循环用 M%i 判断,当等于 0 的时候跳出 i 循环。跳出或者循环结束后判断 i 是否等于 M,等于则 count++,sum=sum+M。然后等到 M 循环结束,输出 count 就为素数的个数,以及 sum 为它们的和。
3 代码截图
4 做题途中遇到的问题
错误一
当时使用 flag 判断,少掉了 m=n 且不为素数的情况,如果出现该种情况代码初值必定为 m,导致出错思路不大对。
2.7-12
pta 上提交列表
2 设计思路:本题需约分最简分式,首先定义分子分母和斜杠,然后开始判断如果 num1<=num2, 将 num1 作为循环终点,除到 num1 即可。然后在 i 循环中当 num1%i&&num2%i==0 时,为一个公约数。然后继续循环,直到 i==num1。反之 num2>num1 也是。
3 代码截图
4 错误点 1
没有思考分子大于分母的情况
3 7-21
该题 pta
3 设计思路
定义 i,hh,mm。输入 hh,mm,然后开始判断当 hh>12 且 mm==0 然后开始 i 循环 hh>12 多少输出多少 dang,判断如果 hh>=12&&mm>0 然后开始 i 循环这边有一个边界问题要 hh-11 输出 dang 最后两种特殊情况 hh<12 时按格式输出 hh,mm,然后当 mm==0 的时候,按格式输出。
4 代码截图
4 本题遇到的问题
少了对 12 点边界的计算,边界问题。
二. 截图本周日集的 pta 排名
三、同学代码互评
1 互评同学名称
许日祯
2. 我的代码、互评同学代码
3. 我和同学代码不同在哪里? 有哪些各自优势?你更喜欢哪种代码风格?如果同学代码有错的也请帮忙指出里出问题。
相同之处:总体思路并没有太大差别
不同之处:这边初定义的时候小日同学用了一个初值判断,引入了 n,避开了 m==1 的情况,而我则是直接使用 m 就直接避开
比较起来的话我觉得自己的思路比较清晰,小日同学的 n 加的比较局促,我更喜欢自己的代码。
四、本周学习总结
1.1 使用 while,for 语句进行循环。
1.2 循环嵌套有进一步学习到
1.3switch 语句的学习
不足之处
循环嵌套起来可能会有些混乱,switch 语句不太会用
来源: http://www.bubuko.com/infodetail-2445463.html