问题 | 回答 |
---|---|
这个作业属于那个课程 | C语言程序设计II |
这个作业要求在哪里 | 作业要求 |
我在这个课程的目标是 | 自己设计一个小游戏 |
这个作业在那个具体方面帮助我实现目标 | 在PTA题目中多次使用while和do-while结构 |
参考文献 | 伪代码的写法 |
1.PTA实验作业(20分/题)
1.1求整数的位数及各位数字之和 (15 分)
对于给定的正整数N,求它的位数及其各位数字之和。
输入格式:
输入在一行中给出一个不超过10的9次方正整数N。
输出格式:
在一行中输出N的位数及其各位数字之和,中间用一个空格隔开。
输入样例:
321
输出样例:
3 6
1.1.1数据处理
数据表达:运用了整型变量number,item,sum,i,分别代表输入的整型数,储存整型数,位数,各位数字之和。
数据处理:
int number,item; /*整型数,储存整型数*/
int i←0,sum←0; /*位数,各位数字之和*/
输入整型数
item←number
while(item)
sum+←item%10 /*储存各位数*/
item←item/10 /*储存整型数*/
i++
输出位数,各位数字之和
end
1.1.2实验代码截图
1.1.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
45678 | 5 30 | 5位数,各位数字之和为30 |
464894 | 6 35 | 6位数,各位数之和为35 |
12346 | 5 16 | 5位数,各位数字之和为16 |
1.1.4 PTA提交列表及说明
提交列表说明:
段错误:不小心把输入格式中少打一个符号。
1.2jmu-c-二进制转10进制 (20 分)
输入一组二进制字符,输出其对应的十进制数。当输入回车键时,输入结束。若输入非二进制字符,输出error input!
输入样例1:
11111111
输出样例1:
255
输入样例2:
34
输出样例2:
error input!
1.2.1 数据处理
数据表达:定义了字符型变量ch,整型变量ten十进制。
数据处理:
char ch; /*定义字符型变量ch*/
int ten←0; /*ten十进制*/
ch←getchar() /*输入一个字符型数据,把值赋给变量ch*/
while(ch!←'
')
switch(ch)
case '1':ten←ten*2+1 /*二进制与十进制互换*/
break;
case '0':ten←ten*2+0 /*二进制与十进制互换*/
break;
default: /*不是二进制*/
输出error input!
end
ch←getchar() /*输入一个字符型数据,把值赋给变量ch*/
输出十进制数
end
1.2.2 实验代码截图
1.2.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
1111011 | 123 | 为二进制 |
110110101 | 437 | 为二进制 |
2465 | error input! | 非二进制 |
1.2.4 PTA提交列表及说明
提交列表说明:
编译错误:一开始并不知道二进制与十进制互换表达式错误。
编译错误:不知道用getchar()
2.代码互评(5分)
同学代码截图
同学代码截图
自己代码截图
1.我们都是将数字用字符型的数据进行输入,来达到目的。
2.我和第一位同学使用的代码采用的单个字符存储,而第二位同学采用的是字符串方式进行存储的。
3.我使用的语句是while和switch语句,而第一位同学使用的是while和if–else语句,第二位同学使用的是for语句和多分支if语句。
4.我和第一位同学用来转进制的方式是在while循环中进行判断,合理时一边读取字符,一边进行计算转换,而第二位同学是在判断输入的二进制数合理时,对字符串的长度进行计算,最后利用循环计算。
5.我和第一位同学的代码差不多,都比第二位同学的代码简单点。
6.第一位同学将ch=getchar()放入到while中,while(ch=getchar())的意思是:你一直输入字符,直到你按ctrl+z结束
3.学习总结(15分)
3.1 学习进度条(5分)
周/日期 | 这周所花的时间 | 代码行 | 学到的知识点简介 | 目前比较迷惑的问题 |
---|---|---|---|---|
11.11~11.17 | 18h | 263 | 熟悉使用while和do-while结构 | 字符的实际使用 |
3.2 累积代码行和博客字数(5分)
3.3 学习内容总结和感悟(5分)
3.3.1 学习内容总结
3.3.2 学习体会
本周又学习了while和do-whlie结构,while循环语句和for语句不同的是,while语句只有一个表达式,for语句有三个表达式,while会一直循环下去直到条件表达式结果为假,而与do-while语句不同的是,do-while语句先做语句,再做判断条件。本周PTA有点难啊,有的不知道题目什么意思,可能是我语文不好吧,这次题目综合性强了点,都可以运用以前学的结构了,这周我有点不懂的是字符型变量,还是不太懂,第三题屡屡出错,需要运用到未学函数,但有些同学代码没用到,也能做出来的。伪代码还是写的不够到位,知识学习的太浅陋了,不够深入,有时会导致语句运用不符。我会继续加油朝目标前进的,最近有个想法看到抖音上的自制指纹锁有点心动,希望在大学中能自己制个。