一.PTA循环实验
Posted 纪聪
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一.PTA循环实验相关的知识,希望对你有一定的参考价值。
一、PTA实验作业(循环)
题目一:
1.本题PTA提交列表
2.设计思路(包括流程图),主要描述题目算法
//设计思路,由题目可知
1.定义字符数组,数组的长度为10;定义整型变量i,letter=digit=other=0;
2.用for循环和getchar()输入10个字符:for(i=0;i<10;i++)和ch[i]=getchar();
3.再利用for循环和条件语句 if...else if...else 判断字符的属性,并且统计字符个数
4. a. 用if((ch[i]=>\'a\'&&ch[i]<=\'z\')||(ch[i]=>\'A\'&&ch[i]<=\'Z\')) { letter++; } 判断输入的字符是否为英文字母,如果是就统计英文字母的个数(在原来的基础上加1)
b.用(ch[i]==\' \'||ch[i]==\'\\n\')判断输入的字符是否为空格,在用blank++;统计空格个数
c.用(ch[i]>=\'0\'&&ch[i]<=\'9\')判断输入的字符是否为数字,再用digit++;统计数字的个数
d.最后用other++;统计输入的字符是既不是空格,也不是数字,也不是英文字母
5.最后用输出统计后英文字母、空格、数字、其他字符的个数:printf("letter = %d, blank = %d, digit = %d, other = %d\\n",letter,blank,digit,other);
6.流程图如下:
7.最终的代码如下;
3.本题调试过程碰到的问题及PTA提交的情况说明(**注意:调试过程必须截图说明如何调试,如何解决问题,PTA提交的列表中的每一个错误详细说明为什么及如何解决)
发现的问题:刚开始的时候提交的时候提示格式错误,再后来多次检查后发现是输出的格式与题目要求的输出格式不符。
解决方法:在输出的等于号两边都加上一个空格就可以解决
题目二:
1.本题PTA提交列表
2.设计思路(包括流程图),主要描述题目算法
//由题目可知,设计思路如下:
1.定义整型变量n,和flag并且令其等于-1; 在定义浮点型变量i和sum=0;
2.输入变量n的值
3.利用for循环依次输入n个值,并且用flag来确定正负号,再用公式 sum=sum+flag*(i/(2*i-1)); 循环求和
4.最后输出最终的结果值
5.流程图如下:
6.最终的代码如下:
3.本题调试过程碰到的问题及PTA提交的情况说明(**注意:调试过程必须截图说明如何调试,如何解决问题,PTA提交的列表中的每一个错误详细说明为什么及如何解决)
问题:刚开始的时候不知道如何确定正负号的转换,再后来经过多次代码修改以及和同学的讨论后才找到了解决方法
解决方法:通过定义变量flag=-1;在后面的循环里flag=flag*-1;当i为偶数的时候就为正,i为奇数的时候就为负
题目三:
1.本题PTA提交列表
2.设计思路(包括流程图),主要描述题目算法
//由题目可知,设计思路如下:
1.先定义五个整型变量A,B,C,D,E用来确定输出的等级,再定义一个数组用来存放学生的成绩,定义整型变量i用于循环输出,定义变量j用于循环判断等级
2.输入成绩:用for()循环和scanf()输入成绩
3.判断分数所在的范围确定和统计不同范围成绩的数目
4.最后输出不同等级的成绩的数目
5.流程图如下:
6.最终的代码如下:
3.本题调试过程碰到的问题及PTA提交的情况说明(**注意:调试过程必须截图说明如何调试,如何解决问题,PTA提交的列表中的每一个错误详细说明为什么及如何解决)
出现问题:一开始不知如何快速的输入多个成绩?
方法:再后来经过多次尝试以及和老师同学讨论后发现用数组可以快速又高效的存放多个成绩
二、同学代码互评
题目:
1.我的代码
:
2.同学:刑宇凡
同学的代码:
3.我和同学的代码有哪些不同?各自有哪些优势?你更喜欢那种代码的风格?
代码互评:两个同学整体思路相同,就是在条件里的判断方法不太同,我是用判断操作符“与”来判断,而同学用的是‘“或”来判断
两种方法都很快捷
三、截图本周题目集的PTA最后排名
四、本周学习总结
1.本周你学会了什么?
1.本周学会了for循环和while以及do....while 循环的基本运用
2.以及深入了解了for和while循环嵌套
3.for和while循环的判断条件等
2.本周的内容,还有那些内容不会?
.对于一些较复杂的循环嵌套题,还不能准确的写出来,总是出现一些错误
.对于循环题做得速度总是很慢,而且程序总是过于复杂
以上是关于一.PTA循环实验的主要内容,如果未能解决你的问题,请参考以下文章