1.本章学习总结(2分)

1.1 思维导图

1.2 本章学习体会及代码量学习体会

1.2.1 学习体会

本周主要学习循环结构和循环的嵌套,相比较上周的学习来说,这周的学习明显难度加大了很多,每一题的代码量也变多了。对于我来说,循环的两个题集中的每一题都值得我认真研究,理清思路,保证自己是真正明白了,理解了。使用循环的嵌套后,程序中的中括号就变多了,因此在打代码时要更注意格式,确保程序看起来整齐,可读性强。同时,题目难度的加大也要求我们不要一看到题目就开始写程序,应该先尝试理一理思路,写出伪代码,这样正式开始写的时候思路就不会乱。然后自己接下来的小目标就是在做题时提高效率,努力做到写的又快又规范。

1.2.2 代码累计

2. PTA总分

2.1 截图PTA中循环结构2次题目集的排名得分


2.2 我的总分:

循环结构(单层):175
循环的嵌套:115
总分:290

3.PTA实验作业(6分)

3.1 PTA题目1

输入一个整数,输出每个数字对应的拼音。当整数为负数时,先输出fu字。十个数字对应的拼音如下:0: ling 1: yi 2: er 3: san 4: si 5: wu 6: liu 7: qi 8: ba 9: jiu

3.1.1 算法分析

定义n,i,mask=1,copy//n存放输入的数,i存放每个位数上的数,
输入n
if(n<0)then
n=-n,printf("fu")//为负数的时候
end if
if(n>0)
copy=n
end if
while(copy>9)do
mask*=10
copy/=10//while循环计算出位数,mask=10代表两位,100代表三位
for(mask>0)
i=n/mask;//算出每个位数上的数
switch(i)
case 0:printf("ling");break;
case 1:printf("yi");break;
case 2:printf("er");break;
case 3:printf("san");break;
case 4:printf("si");break;
case 5:printf("wu");break;
case 6:printf("liu");break;
case 7:printf("qi");break;
case 8:printf("ba");break;
default:printf("jiu");
n=n%mask
mask=mask/10//将每个位数上的数转为拼音
if(mask>0)
printf(" ")//每个数之间输出空格
结束循环

3.1.2 代码截图


3.1.3 测试数据

3.1.4 PTA提交列表及说明


Q1:刚开始在输出的拼音前加空格,后来提交发现部分正确,当输入0时前面也会出现空格
A1:后来取消了拼音前的空格,改为空格在每一次循环之后单独输出

3.2 PTA题目2

本题目要求读入菱形起始字母和菱形的高度,然后输出空心字符菱形。所谓“空心菱形”是指:每行由两端为字母、中间为空格的字符串构成,每行的字符串中心;上半部分相邻两行字符串长度差2,且字母从给定的起始字母逐一递增;下半部分与上半部分对称

3.2.1 算法分析

定义num,i,j,k,mid  定义字符型变量ch
输入ch num
mid=num/2+1//mid为中间量,菱形关于mid对称
i=1;
ch=ch-1;
for i=1 to i=num do   //i代表行
for j=1 to j=fabs(i-mid) do
printf(" ");      //控制前面的空格
end for
if(i<=mid)
ch=ch+1;
end if
for k=1 to k=2*i-1 do    //上半部分
if(k==1||k==2*i-1)
printf("%c",ch);   //控制输出字母的位置
else
printf(" ");    //控制输出空格的位置
end if
else  //下半部分
ch=ch-1;
for k=1 k =2*(num-i+1)-1 do
if(k==1||k==2*(num-i+1)-1)
printf("%c",ch);     //控制输出字母的位置
else
printf(" ");     //控制输出空格的位置
end if
结束循环

3.2.2 代码


3.2.3 测试数据!

3.2.4 PTA提交列表及说明


Q1:首先打算将上半部分和下半部分一起完成但发现难度比较大
A1:将上半部分和下半部分分开
Q2:一不完成空格和菱形的输出难度比较大
A2:先输出一个实心菱形,然后再挖空
Q3:遇到输出的字母不对,题目要求先加后减
A3:在没有进入循环之前将ch-1,然后在循环内在进行加减

3.3 PTA题目3

你的程序要读入一行文本,其中以空格分隔为若干个单词,以.结束。你要输出每个单词的长度。这里的单词与语言无关,可以包括各种符号,比如it's算一个单词,长度为4。注意,行中可能出现连续的空格;最后的.不计算在内

3.3.1 算法分析

定义count count_0定义字符型变量n
while((n=getchar())!='.'){
if (n!=' ')
if(count>0&&count_0>0) //当且仅当字母位数大于 0
printf("%d ",count);          且后方有空格时才输出带有空格的位数
count=0;
end if
count++;
count_0=0;
continue;
end if
if (n==' ')
count_0++;
end if
if (count>0) // 输出最后一个单词的个数
printf("%d\n", count);
else
printf("\n"); // 处理只有一个 . 的情况
end if

3.3.2 代码

3.3.3 测试数据

3.3.4 PTA提交列表及说明

Q1:开始时忽略了最后一个单词,最后一个单词后面没有空格但是要输出单词个数
A1:单独列了一种情况

4.代码互评

4.1 代码截图

同学代码截图

自己的代码截图

4.2 二者的相同和不同

相同点:

  • 都对输出图形进行了分类,将不同情况的分开考虑
  • 同时对于输出空格还是字母也进行了分类

不同点:

  • 该同学先考虑了首行和末行的输出格式,我先考虑的时将输出图案分为上半部分和下半部分
  • 该同学在考虑空中间行的两个字母时,分为输出的第一个字母不换行,第二个字母换行,我是按照改行的与输出字母的列的关系来分析,符合关系的输出字母,不符合的输出空格。

转载于:https://www.cnblogs.com/zyxaa/p/9866139.html

c语言博客作业02--循环结构相关推荐

  1. C语言第三次博客作业---单层循环结构

    一.PTA实验作业. 题目1 1.实验代码 int n,i; double height1,height2;//1为输入身高,2为输出身高. char sex; //1<=height1< ...

  2. C语言博客作业--函数

    C语言博客作业--函数 一,PTA实验作业 6-2 简单实现x的n次方 1.本题PTA提交列表 2.设计思路 double mypow( double x, int n )函数 (1)定义y=1,i用 ...

  3. C语言|博客作业06

    这个作业属于哪个课程 https://bbs.csdn.net/forums/csuft_swxy_C?typeId=17321 这个作业要求在哪里 https://bbs.csdn.net/topi ...

  4. C语言|博客作业05

    C语言|博客作业05 这个作业属于哪个课程 https://bbs.csdn.net/forums/csuft_swxy_C?typeId=17321 这个作业要求在哪里 https://bbs.cs ...

  5. C语言|博客作业04

    C语言|博客作业04 1. 完成云班课的知识点总结作业,并给出截图. 2. 学习总结 这个作业属于哪个课程 https://bbs.csdn.net/forums/csuft_swxy_C?typeI ...

  6. 【C语言博客作业06】

    这个作业属于哪个课程 https://bbs.csdn.net/forums/csuft_swxy_C?category=0&typeId=17328 这个作业要求在哪里 https://bb ...

  7. pta答案厦门大学C语言,C语言I博客作业02 - osc_dmzfpa0c的个人空间 - OSCHINA - 中文开源技术交流社区...

    一.概括表格 问题 答案 这个作业属于那个课程 C语言程序设计I 我在这个课程的目标是 深入了解C语言,熟练掌握编译代码的方法及内容 这个作业在那个具体方面帮助我实现目标 学会用代码求华氏温度下对应的 ...

  8. C语言程序设计博客作业02

    我在这个课程的目标是 <写上你的目标> 这个作业在那个具体方面帮助我实现目标 <写上具体方面> 参考文献 <写上作业所参考的文献资料> 1.PTA实验作业(20分/ ...

  9. c语言中11 3等于多少,C语言|博客作业11

    一.本周教学内容&目标 第5章 函数 要求学生掌握各种类型函数的定义.调用和申明,熟悉变量的作用域.生存周期和存储类型. 二.本周作业头 三.本周作业 1.PTA实验作业 请再此处列出自己的排 ...

最新文章

  1. 一个隐马尔科夫模型的应用实例:中文分词
  2. Mysql错误问题:ERROR 1005 (HY000): Can't create table 'crm_1.tbl_client' (errno: 150)
  3. 西门子Step7找不到有效授权的解决方法
  4. 每三个数换行 用C语言表示,关于换行符:使用fscanf()读取每行3个数字的文件,为什么“%d%d%d%* c”和“%d%d%d”一样好?...
  5. rhel7 http实例2
  6. 在Spring MVC应用程序中使用Bean Validation 1.1获得更好的错误消息
  7. 理解SQL Server中的权限体系(下)----安全对象和权限
  8. 超详细的Git提交规范引入指南
  9. 实时获取麦克风语音信号
  10. Android界面开发工具DroidDraw
  11. 水经注影像离线包简介
  12. NLP的两种工具的java版使用:复旦FudanNLP,中科院计算所ICTCLAS2013
  13. 云计算与大数据作业 21大数据 刘佳琪
  14. mysql比对两张表数据
  15. [Code+#4]最短路 (最短路)
  16. 网络聊天室(linux,java,Android)
  17. 多人在线编辑文档 开发_太方便了,支持多人同时编辑,电脑和手机端实时同步保存...
  18. ios 开发常用第三方框架
  19. 创建账户类Account
  20. 南京java开发应届生工资,技术总监都拍手叫好

热门文章

  1. JavaWeb-网站在线用户信息、网站访问量以及管理踢出用户实例
  2. (转)同一服务器部署多个tomcat时的端口号修改详情
  3. 【0702作业】输出两种菱形(实心菱形和空心菱形)
  4. idea无法引用jar包中的class
  5. 【html、CSS、javascript-8】JavaScript作用域
  6. 自学linux指令分析-cat
  7. mybatis 实现oracle主键自增的机制
  8. Openfire Server presence(在线状态)消息处理流程
  9. 【612页】Android 大厂面试题及解析大全(中高级)
  10. Android ProgressBar 不能在Button上面显示