C语言I博客作业08

这个作业属于哪个课程 https://edu.cnblogs.com/campus/zswxy/SE2020-3
这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/SE2020-3/homework/11628
这个作业的目标 学习了解嵌套结构,break,contiune语句的用法
学号 20209167

1.PTA实验作业

1.1 题目名1

                                                             7-3 字符菱形

根据读入的字符和边长,勾画字符菱形。
输入格式:

输入数据含有若干组的数据,每组数据包括一个可见字符c和一个整数n(1≤n≤30)。 以键盘输入^Z或遇到文件结束符时结束数据输入。
输出格式:

输出以c为填充字符,边长为n的菱形,每个菱形之后都输出一个换行符。

1.1.1数据处理

数据表达:定义字符变量a,整型变量i,j,n,
数据处理:n,a通过scanf输入获取,while循环内通过使用for语句嵌套,第一个for循环,循环n次,循环内两个for语句 for(j=1;j<=n-i;j++)  printf(" ");
        for(j=1;j<=2*i-1;j++)    printf("%c",a);控制空格和字符a的输出达到所需要得到的上半部分图形。第二的for语句循环n-1次,嵌套两个for语句完成菱形下半部分。for(j=1;j<=i;j++)    printf(" "); for(j=1;j<=2*n-1-2*i;j++)    printf("%c",a);

1.1.2实验代码截图

1.1.3 造测试数据

输入数据:c 7
输出数据:

输入数据:A 5 B 3
输出数据:

1.1.4 PTA提交列表及说明

  • 刚开始编译错误是因为for语句的大括号少打,然后改正。
  • 答案错误是因为输出格式不对,通过修改for语句的循环条件,因为没注意到终止符的问题,又出现错误。
  • 后来for语句循环没错,倒是不知但如何处理while语句循环结束的问题,从同学得到帮助,直到是通过EOF来表示终止符。

1.2 题目2

                                                             7-6 Wifi密码

下面是微博上流传的一张照片:“各位亲爱的同学们,鉴于大家有时需要使用 wifi,又怕耽误亲们的学习,现将 wifi 密码设置为下列数学题答案:A-1;B-2;C-3;D-4;请同学们自己作答,每两日一换。谢谢合作!!~”—— 老师们为了促进学生学习也是拼了…… 本题就要求你写程序把一系列题目的答案按照卷子上给出的对应关系翻译成 wifi 的密码。这里简单假设每道选择题都有 4 个选项,有且只有 1 个正确答案。
输入格式:

输入第一行给出一个正整数 N(≤ 100),随后 N 行,每行按照 编号-答案 的格式给出一道题的 4 个选项,T 表示正确选项,F 表示错误选项。选项间用空格分隔。
输出格式:

在一行中输出 wifi 密码。

1.2.1 数据处理

数据表达:定义N,i整型变量,定义a,b字符型变量。
数据处理:通过scanf输入得到N的值,通过for语句循环相应次数for(i=0;i<=N;i++),通过if语句中嵌套switch语句判断正确情况和四个选项,并且分四种情况输出if(b=='T'{switch(a){case'A':printf("1");break;case'B':printf("2");break;case'C':printf("3");break;case 'D':printf("4");break;}

1.2.2 实验代码截图

1.2.3 造测试数据

输入数据:
5
A-F B-F C-T D-F
C-F B-F A-F D-T
A-T D-F C-F B-F
B-F A-F C-T D-F
A-T D-F C-F B-F
输出数据:
34131
输入数据:
3
A-F B-F C-T D-F
C-T B-F A-F D-F
A-T D-F C-F B-F
输出数据:
331

1.2.4 PTA提交列表及说明

  • 一开始编译错误又是分号的问题。
  • 后来答案错误为13是因为没注意到每行有四个选项,应该改为N=N*4,重打一边代码,改用其他方法。
  • 运行超时时因为错用while循环,没把握好用法,后改为for语句,问题解决。
  • for循环中i先是用的i=1,部分正确,后来改为i=0即可。

2.代码互评

同学代码:

我的代码:

同学代码:

我的代码:

  • 比较起来,第一题的方法都大同小异,都是for循环嵌套来输出图形。值得注意的是EOF表示的东西。
  • 第二题我觉得方法是挺多的,但是和同学比起来,我的代码还是缺少了很多值得注意的东西。
  • 我会改变现今的做题思路以及改变代码风格。

3.学习总结

3.1 学习进度条

|周/日期 |这周所花的时间 |代码行 |学到的知识点简介 |目前比较迷惑的问题 |
| ---- | ---- | ---- | ---- | ---- | ---- |
|9/12.13-9/12.20 |9小时 |500 |循环嵌套和break,contiune语句 |如何灵活循环嵌套,和while语句条件的控制 | |

3.2 累积代码行和博客字数


3.3关于break语句

  • 1、当break语句出现在一个循环时,循环会立即终止,且程序流将继续执行紧接着循环的下一条语句。
  • 2、它可用于终止switch语句中的一个case。
  • 3、退出的是它所在的循环结构,对外层的循环结构没有任何影响。

如果使用的是嵌套循环(即一个循环shu嵌套另一个循环),break语句会停止执行最内层的循环,然后开始执行该块之后的下一行代码。

3.3 学习内容总结和感悟

3.3.1 学习内容总结

3.3.2 学习体会
(1):本周学习了嵌套结构,让我们再处理问题的时候多了选择和思考。
(2):之后的两周及要复习和考试,时间很紧,我i会在寒假时间多学习C语言。
(3):我觉的学习过程中就是要不断思考和改变,才能有多多的收获。

posted @ 2020-12-19 10:47  全湖广  阅读(188)  评论(6编辑  收藏  举报