一、本周作业头
这个作业属于那个课程 | C语言程序设计II |
---|---|
这个作业要求在哪里 | https://edu.cnblogs.com/campus/zswxy/CST2019-1/homework/9935 |
我在这个课程的目标是 | 熟练掌握好C语言,培养自己的思维能力,同时加快敲代码速度。 |
这个作业在那个具体方面帮助我实现目标 | 帮助我熟练的掌握switch语句以及排版能力 |
参考文献 | 百度百科、CSDN博客、C语言程序设计 |
二、本周作业
1.PTA实验作业
1.1 jmu-c-二进制转10进制
输入一组二进制字符,输出其对应的十进制数。当输入回车键时,输入结束。若输入非二进制字符,输出 error input!
输入样例1:
11111111
输出样例1:
255
输入样例2:
34
输出样例2:
error input!
1.1.1数据处理
数据表达:使用了char op[50],i,sum=0,flag=1;其中char op[50]表示字符型数组取50,i=0表示循环起点,sum表示二进制转化为十进制的值,flag用来判断是不是二进制。
数据处理:
#include
#include
#include
int main ()
{
char op[50];
int i,sum=0,flag=1;
输入op
for(i=0;i
1.1.2实验代码截图
1.1.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
op=11111111 | sum=255 | op=11111111属于二进制 |
op=34 | sum=error input! | op=34不属于二进制 |
op=111101 | sum=61 | op=111101属于二进制 |
1.1.4 PTA提交列表及说明
编译错误少打了个大括号
答案错误:改的时候没有定义自己用的变量
答案错误:在求二进制转十进制的值是表达式 score=n%10; sum=sum+score*pow(2,count); n=n/10; count++;
中n=n/10与score=n%10倒了过来
部分正确:使用整型变量,达不到输出要求
部分正确:通过寻求学长帮忙使用字符型变量,开始令flag=0导致一直输出error input!
部分正确:开始令i=1导致部分正确
1.2 求整数的位数及各位数字之和
对于给定的正整数N,求它的位数及其各位数字之和。
输入格式
输入在一行中给出一个不超过10九次方的正整数
输出格式
在一行中输出N的位数及其各位数字之和,中间用一个空格隔开。
输入样例:
321
输出样例
3 6
1.2.1数据处理
span style="color:red">数据表达用了N,count,sum=0;其中N代表输入的正整数,count表示整数的位数,sum表示整数的各位数之和。
span style="color:red">数据处理
#include
int main ()
{
int N,count,sum=0;
输入正整数N;
while(当N不等于0时)
{
sum=sum+N的最后一位数;
N=N/10;
位数加一;
输出sum和输出count;
return 0;
}
1.2.2实验代码截图
1.2.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
N=321 | count=3,sum=6 | 321有三位数,各位数之和为6. |
N=0 | count=0,sum=0 | 0不是正整数 |
N=-2 | count=1,sum=-2 | -2不是正整数,但是是整数故各位数为1,各位数之和为-2 |
1.2.4 PTA提交列表及说明
答案错误:输出值写在while语句里,但依旧答案错误。
答案错误:sum赋值零后运行超时
运行超时:N除以10后取余,并计数count,应是N/10后计数count。
运行超时:N除以10后取余,并计数count,应是N/10后计数count。
运行超时:scanf("%d",&N)此语句中没有用地址符也就是&。
多种错误:while语句中N!=0写成N<0000000.
多种错误:输出的时候count与sum的输出顺序错误。
多种错误:修改过程中count少打了个n.
2.代码互评
自己代码 | 同学代码 |
---|---|
![]() |
![]() |
不同点:
1.我使用的while语句而这位同学使用的是for循环
2.在if语句中我做的稍微比他的要简便些
自己代码 | 同学代码 |
---|---|
![]() |
![]() |
不同点:
1.该同学与我的代码区别在于我用for循环解决的,而该同学使用switch语句与while语句
2.我的代码是通过请教学长,学长应用后面所学的知识进行的求解的,使用到了#include
3.在计算sum时,我调用了平方函数,从最大的开始算,而该同学是从最小开始算的。
3.学习总结
3.1 学习进度条
周/日期 | 这周所花的时间 | 代码行 | 学到的知识点简介 |
---|---|---|---|
10/8-10/12 | 5h | 224 | if-else语句和输入输出格式 |
10/13-10/18 | 12h | 263 | for循环语句,如何计算累加题 |
10/19-10/26 | 15h | 334 | 如何编写自定义函数及更加熟练掌握for循环 |
10/26-11/2 | 14h | 355 | 如何使用逻辑表达式及else-if语句 |
11/2-11/8 | 13h | 284 | 如何使用switch语句 |
11/9-11/15 | 16h | 231使用while语句以及字符型变量的输入输出,#include |
数组的使用 |
3.2 累积代码行和博客字数
3.3 学习内容总结和感悟
3.3.2 学习体会
在这一周的学习过程中,学了很多的东西;但没有实际的应用到题目上来,因为周四的羽毛球比赛,上午的课也没有上,一整天都在体育馆当工作人员。
导致都没有时间写PTA,第五题的那个挑战题也没来得及看。特别是第三题就已经把我难倒了。我开始使用整型,千辛万苦终于把代码写对了;但应该是
溢出了,整型没有达到题目所要的范围。只能用字符型,我就请教了一位学长,学长教我用字符型;同时让我接触到了另一个新的头文件#include
并且耐心的替我讲解他那段代码的意思。但我还是有的似懂非懂,也让我感受到了这C语言还是要靠自己去主动去学习,一定要走到老师的前面。