C语言I博客作业08

这个作业属于那个课程 C语言程序设计II
这个作业要求在哪里 C语言I作业08
我在这个课程的目标是 熟练掌握C语言
这个作业在那个具体方面帮助我实现目标 在PTA上各种题型的练习和老师布置的类型作业
参考文献 百度

一、PTA作业

1.1求整数的位数及各位数字之和

对于给定的正整数N,求它的位数及其各位数字之和。

输入格式:

输入在一行中给出一个不超过十的九次方的正整数N。

输出格式:

在一行中输出N的位数及其各位数字之和,中间用一个空格隔开。

输入样例:
321

输出样例:
3 6

1.1.1 数据处理

数据表达:用了整形变量number, temp, i = 0, sum = 0;
sum表示各位数字之和,i表示它的位数
数据处理:用了while语句,
用了表达式sum += temp % 10除以10取余数
用了表达式 temp /= 10除以10取余数
用了表达式 i++使用i之后再加一

伪代码

include <stdio.h>

int main(void)
{
定义整形变量number, temp, i = 0, sum = 0
scanf("%d", &number);
temp = number;
while (temp) {
sum += 除以10取余数;
temp 除以10取商;
i++;
}
printf("%d %d\n", i, sum);输出它的位数及其各位数字之和

return 0;

}

1.1.2 实验代码截图

1.1.3 造测试数据

输入数据 输出数据 说明
28 2 10 28它的位数是2及其各位数字之和是10
327 3 12 327它的位数是3及其各位数字之和是12
527 3 14 527它的位数是3及其各位数字之和是14

1.1.4 PTA提交列表及说明

提交列表说明:

在编译器中提前编译,所以没有错误

1.2爬动的蠕虫

一条蠕虫长1寸,在一口深为N寸的井的底部。已知蠕虫每1分钟可以向上爬U寸,但必须休息1分钟才能接着往上爬。在休息的过程中,蠕虫又下滑了D寸。就这样,上爬和下滑重复进行。请问,蠕虫需要多长时间才能爬出井? 这里要求不足1分钟按1分钟计,并且假定只要在某次上爬过程中蠕虫的头部到达了井的顶部,那么蠕虫就完成任务了。初始时,蠕虫是趴在井底的(即高度为0)。

输入格式:
输入在一行中顺序给出3个正整数N、U、D,其中D<U,N不超过100。

输出格式:
在一行中输出蠕虫爬出井的时间,以分钟为单位。

输入样例:
12 3 1
输出样例:
11

1.2.1 数据处理

数据表达:用了整形变量N,U,D,L,time下滑了D寸,L表示高度,N表示深为N寸,向上爬U寸
数据处理:用了while语句和if语句,
用了表达式time表示时间的变化;
用了表达式 L=L+U表示蠕虫爬的高度;
用了表达式 L>=N,break;L=L-D;time++;表示蠕虫爬出的时间

伪代码:

include <stdio.h>

int main()
{
定义爬虫的高度,向上爬的寸数,下滑的寸数,井的深度
scanf("%d %d %d",&N,&U,&D);
定义爬虫需要的时间
time=L=0;
while(蠕虫的高度<井的深度){
time++;
L=L+U;
if(蠕虫爬的高度>井的深度)
退出
L=L-D;
time++;
}
printf("%d",time);输出蠕虫所需的时间
return 0;
}

1.2.2 实验代码截图

1.2.3 造测试数据

输入数据 输出数据 说明
15 6 2 7 深为15寸的井,蠕虫每1分钟可以向上爬6寸,蠕虫需要7分钟才能爬出井
13 4 2 11 深为13寸的井,蠕虫每1分钟可以向上爬4寸,蠕虫需要11分钟才能爬出井
14 5 3 11 深为14寸的井,蠕虫每1分钟可以向上爬5寸,蠕虫需要11分钟才能爬出井

1.2.4 PTA提交列表及说明

提交列表说明:

在编译器上提前编译,所以没有错误,在编译器上的错误已经记下

2.代码互评

同学代码截图

自己代码截图


该同学用了整形变量x,d,i,n,字符型数组s[100];我用了整型变量num,n,mask,i
该同学用了数组的知识点,而我只用了while语句和if语句的结合
结构上该同学的更加整洁美观,而我的有点复杂难懂

同学代码截图

自己代码截图


该同学的代码是分开列举距井口的距离是否大于零,距离井口的距离和一分钟内爬的距离的大小,最后输出时间;我的代码是判断蠕虫的高度和井口的距离,最后输出时间
该同学的代码整洁美观,更容易让人看懂,我的代码相较之下,有点复杂

3.学习总结

3.1 学习进度条

周/日期 这周所花的时间 代码行 学到的知识点简介 目前比较迷惑的问题
第六周 21小时 400行 如何用 MinGW-w64 来编译C程序
第七周 24小时 478行 运用if语句完成各种数学程序 对于&&的用法不了解,现在操作不熟练
第八周 20小时 349行 掌握使用for循环语句实现指定次数的循环程序设计
第九周 23小时 264行 学会使用自定义函数 目前不太熟练
第十周 22小时 167行 熟悉多分支结构、字符型数据类型和逻辑运算符 还没有完全熟悉
第十一周 18小时 150行 熟悉多分支结构switch语句的使用
第十二周 16小时 130行 熟悉使用while和do-while结构解决问题 目前还不太熟练

3.2 累积代码行和博客字数

时间 博客字数 代码行数
第四周 525 50
第五周 645 100
第六周 645 400
第七周 2659 478
第八周 3586 597
第九周 4769 698
第十周 5897 787
第十一周 6289 897
第十二周 7594 1056

3.3 学习内容总结和感悟

3.3.1 学习内容总结

3.3.2 学习体会

学习c语言有一段时间了,越是学到后面越难,上周学习了分支结构的嵌套的又一个语句,这周学习了do while语句,并且知道了while语句,for语句和do while语句的区别,又增加了一项编码技巧,也学到了新的C语言知识,现在编代码时没有以前那么吃力了,但是仍然不太熟练,而且题目也越来越难了,我还欠缺很多的锻炼,也欠缺很多知识,我以后还需要更努力的去练习,花更多的时间在这里,朝着我的目标前进

posted @ 2019-11-14 17:53  软4杨宇  阅读(212)  评论(11编辑  收藏  举报