PTA循环
Posted Galiler117
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PTA循环相关的知识,希望对你有一定的参考价值。
一、PTA实验作业(循环)
题目一:
1.本题PTA提交列表
2.设计思路(包括流程图),主要描述题目算法
1. 定义字符数组en[10],数组的长度为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. (1). 用if((ch[i]=>\'a\'&&ch[i]<=\'z\')||(ch[i]=>\'A\'&&ch[i]<=\'Z\')) { letter++; } 判断输入的字符是否为英文字母,如果是就统计英文字母的个数(在原来的基础上加1)
(2).用(ch[i]==\' \'||ch[i]==\'\\n\')判断输入的字符是否为空格,在用blank++;统计空格个数
(3).用(ch[i]>=\'0\'&&ch[i]<=\'9\')判断输入的字符是否为数字,再用digit++;统计数字的个数
(4).最后用other++;统计输入的字符是既不是空格,也不是数字,也不是英文字母
5. 最后用输出统计后英文字母、空格、数字、其他字符的个数:printf("letter = %d, blank = %d, digit = %d, other = %d\\n",letter,blank,digit,other);
6.流程图如下:
7.最终的代码如下;
3.本题调试过程碰到的问题及PTA提交的情况说明(**注意:调试过程必须截图说明如何调试,如何解决问题,PTA提交的列表中的每一个错误详细说明为什么及如何解决)
发现的问题:刚开始的时候提交的时候提示格式错误,再后来多次检查后发现是输出的格式与题目要求的输出格式不符。
解决方法:在输出的等于号两边都加上一个空格就可以解决
题目二:
- 本题PTA提交列表
2.设计思路(包括流程图),主要描述题目算法
//由题目可知,设计思路如下:
1.定义整型变量n,i,j,S=0,s=1,且n<=10。
2.利用for循环计算出每个数字阶乘,用公式s=s*j计算,再用for循环计算阶乘的相加,利用公式S+=s,再循环末尾重新使s=1。
3.最后输出结果S。
5.流程图如下:
6.最终的代码如下:
3.本题调试过程碰到的问题及PTA提交的情况说明(**注意:调试过程必须截图说明如何调试,如何解决问题,PTA提交的列表中的每一个错误详细说明为什么及如何解决)
问题:
解决方法:
题目三:
- 本题PTA提交列表
2.设计思路(包括流程图),主要描述题目算法
//由题目可知,设计思路如下:
1.定义整型变量i和n,并定义整形数据result=0,
2.输入数据n
3.利用for循环求出2的i次方的加和(其中1<=i<=n),公式result+=pow(2,i).
4.输出数据result。
5.流程图如下:
6.最终的代码如下:
3.本题调试过程碰到的问题及PTA提交的情况说明(**注意:调试过程必须截图说明如何调试,如何解决问题,PTA提交的列表中的每一个错误详细说明为什么及如何解决)
出现问题:
方法:
二、同学代码互评
1.我的代码:
2.同学:
同学的代码:
3.我和同学的代码有哪些不同?各自有哪些优势?你更喜欢那种代码的风格?
三、截图本周题目集的PTA最后排名
四.本周学习总结
1.本周你学会了什么?
1.本周学会了for循环和while以及do....while 循环的基本运用
2.以及深入了解了for和while循环嵌套
3.for和while循环的判断条件等
2.周的内容,还有那些内容不会?
.对于一些较复杂的循环嵌套题,还不能准确的写出来,总是出现一些错误
.对于循环题做得速度总是很慢,而且程序总是过于复杂,需要学会如何简化程序
以上是关于PTA循环的主要内容,如果未能解决你的问题,请参考以下文章