C语言I作业08

主宰稳场 提交于 2019-12-04 11:39:21
这个作业属于那个课程 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
第六周 0 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语言知识,现在编代码时没有以前那么吃力了,但是仍然不太熟练,而且题目也越来越难了,我还欠缺很多的锻炼,也欠缺很多知识,我以后还需要更努力的去练习,花更多的时间在这里,朝着我的目标前进

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!