C语言I博客作业08

最后都变了- 提交于 2019-12-04 13:49:00
这个作业属于哪个课程 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数据处理

数据表达:定义整型变量flog,sum,定义字符变量ch,%c代表输出单个字符。
数据处理:
char ch定义字符变量
int sum,flog定义整型变量
while(ch!='\n')
输入单个字符
switch(ch)
case'\n':case'1':case'0':
sum=sum*2+ch-'0';
否则输出error input!
flog=1;
ch='\n';
if(flog<--0)
输出sum**

1.1.2实验代码截图

1.1.3造测试数据

输入数据 输出数据 说明
输入数据 输出数据 说明
11111111 255 二进制
34 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=0,flag=0定义变量
输入n
while(1)
{
x=x*10+1;添加后面的1
if(x>=n)
{
大于或等于它就相除
}
else if(flag==1) 前面小于它不上0,继续添加后面的1
printf("0"); //中间的上0
x=x%n;
if(x<--0)最后一个1添上,刚好能除尽
跳出循环
}
输出i的值
**

1.2.2实验代码截图

1.2.3造测试数据

输入数据 输出数据 说明
输入数据 输出数据 说明
31 3584229390681 15 31乘以3584229390681的结果是111111111111111,一共15个1
21 5291 6 21乘以5291的结果是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.其他的大同小异,都差不多

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

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表示输出自动选择合适的表示法。

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