C语言I博客作业08

这个作业属于哪个课程 C语言程序设计II
这个作业要求在哪里 C语言I作业08
我在这个课程的目标是 掌握使用whlie和do-whlie结构
这个作业在那个具体方面帮助我实现目标 whlie和do-whlie结构得到训练
参考文献 C语言程序设计I,百度

1.PTA作业

1.PTA实验作业

1.1jmu-c-二进制转10进制

内容:输入一组二进制字符,输出其对应的十进制数。当输入回车键时,输入结束。若输入非二进制字符,输出error input!

1.1.1数据处理

**数据表达:定义整型变量flag,sum,定义字符变量ch用于存放字符,%c代表输出单个字符,flag用于判断是否为1or0,sum为最终转化成十进制的值。
**数据处理:
定义变量ch为字符变量,用于存放字符
int sum,flag定义整型变量
while(ch!='\n')
输入字符
switch
case'\n':
end
case'1':case'0':
sum<--sum*2+ch-'0';
end
else 输出error input!
flag<--1;
ch<--'\n';
if flag<--0
then输出sum

1.1.2实验代码截图

1.1.3造测试数据

输入数据 输出数据 说明
111111 63 二进制
89 error input! 非二进制
10101010 170 二进制
56 error input! 非二进制
1001 9 二进制
78 error input! 非二进制

1.1.4PTA提交列表及说明

提交列表说明:

1.在编译的时候将while打成‘whlie’了看了好久才看出来;“;”打成中文符号了
2.在运行时答案错误,经过询问和调试后改对了

1.2整除光棍

内容:这里所谓的“光棍”,并不是指单身汪啦~ 说的是全部由1组成的数字,比如1、11、111、1111等。传说任何一个光棍都能被一个不以5结尾的奇数整除。比如,111111就可以被13整除。 现在,你的程序要读入一个整数x,这个整数一定是奇数并且不以5结尾。然后,经过计算,输出两个数字:第一个数字s,表示x乘以s是一个光棍,第二个数字n是这个光棍的位数。这样的解当然不是唯一的,题目要求你输出最小的解。
提示:一个显然的办法是逐渐增加光棍的位数,直到可以整除x为止。但难点在于,s可能是个非常大的数 —— 比如,程序输入31,那么就输出3584229390681和15,因为31乘以3584229390681的结果是111111111111111,一共15个1。
输入在一行中给出一个不以5结尾的正奇数x(<1000)。
在一行中输出相应的最小的s和n,其间以1个空格分隔。

1.2.1数据处理

数据表达:定义整型变量n,i,x,flag,i是计算出的光棍位数。
数据处理:
定义变量i,n,x,flag
输入n
while(1)
x<--(x*10+1)
if x>=n
then flag<--1;
输出x/n
else if flag<--1
then 输出0;
x<--x%n(把x除以n余数赋值给x);
if x<--0
then i<--i+1
输出i的值

1.2.2实验代码截图

1.2.3造测试数据

输入数据 输出数据 说明
31 3584229390681 15 31乘以3584229390681的结果是111111111111111,一共15个1
21 5291 6 21乘以5291的结果是111111,一共6个1
101 11 4 101乘以11的结果是1111,一共4个1
91 1221 6 91乘以1221的结果是111111,一共6个1

1.2.4PTA提交列表及说明


提交列表说明:
1.答案错误:开始用的是for循环,条件没有用对,后来改了一下,但是还是没有改对
2.答案错误:把for循环语句改为了while循环语句,把那个条件没有用对,后来问了大佬改正确了
3.在编译的过程中有把while错打成‘whlie’

2.代码互评

同学的代码

同学的代码

自己的代码


1.变量有一点不同,柏同学只用了3个变量(n,sum,count),我和黄同学用了4个变量(我的是N,sum,num,count)(黄同学n,sum,count,number)
2.我和柏同学用的是while结构,黄同学用的是do-while结构
3.柏同学还用了if结构,如果n=0的时候count=1,n不等于0时就进行while循环
4.其他的大同小异,都差不多

同学的代码

自己的代码


1、变量不同的有time,t,相同的有N,U,D,X(x)
2、我是分别定义变量的,杨同学是先定义然后再令time=X=0
3、她是用X=X+U,我是用x+=U,其实差不多
4、在if循环条件中我的是x<N,她的是X>=N,她的是错误的,用12 3 1运算得到7

3.学习总结

3.1学习进度条

周/日期 这周所花的时间 代码行 学到的知识点简介 目前比较迷惑的问题
第六周 20h 60 用WinGW-w64来编译C程序 文档真的打不开,可能是电脑原因
第七周 10h 90 关系运算,if-else语句,格式化输入语句scanf()
第八周 8.5h 80 for的循环语句,指定次数的循环程序设计 不太会文字与数学的转换
第九周 8h 100 函数的调用和定义的初步认识 自定义函数不熟悉
第十周 10h 170 多分支结构、字符型数据类型和逻辑运算符 多个数据输出不熟练
第十一周 11h 110 熟悉多分支结构switch语句的使用 逻辑思维能力差
第十二周 9h 200 熟悉whlie和do-whlie结构 字符那方面不熟

3.2累积代码行和博客字数

3.3学习内容总结和感悟

3.3.1学习内容总结

3.3.2学习体会

1.做题的感觉顺了一点,空闲时间多刷题吧
2.伪代码不是特别懂,问了别人还是有点不太懂,每个人的都不太一样
3.这一周事情真的太多了,熬夜时间又延长了,太难了
4.时间过得太快了,已经第十二周了,要系统的复习加预习
C语言的格式输出,%c,%y这些代表你要输出的数据的数据类型;%d 表示输出十进制有符号的整数。
1、%u 十进制无符号整数。
2、%f 表示输出浮点数。
3、%s表示输出 字符串。
4、%c表示输出单个字符。
5、%p表示输出指针的值。
6、%e表示输出指数形式的浮点数。
7、%x, %X 表示输出无符号以十六进制表示的整数。
8、%0 表示输出无符号以八进制表示的整数。
9、%g表示输出自动选择合适的表示法。

原文地址:https://www.cnblogs.com/zhangsanri/p/11854065.html