C博客作业00--循环结构
| 这个作业属于哪个班级 |
目录
| ---- | ---- | ---- |
| 这个作业的地址 |
目录
| 这个作业的目标 | 学习循环结构内容,包括for循环、while循环、循环嵌套 |
| 姓名 | 王鑫 |
目录
0展示PTA总分
1.本章学习总结
本章的学习内容和PTA上的题,比较上两个章节,对我来说挑战更大。很多时候PTA的题目需要些很久。有的题目好不容易写出来代码又多又杂,可读性差,逻辑也不清晰。根据这个情况,我觉得我需要适当去读读别人的代码,取长补短。希望能有时间完成我的设想。
1.1for循环语法
- for循环是写起来比较简洁方便的循环,它可以把一些变量定义在里面,留下主体的循环体,让整个循环显得简洁多了。
- for循环是我用的比较多的循环语句,因为它可以不写条件,然后在根据循环体的情况加入break,跳出循环。很多时候可以帮助到我。
for(初始条件;进入循环的条件;完成循环时执行的语句)
{
主体的循环体
}
1.2while do while循环
while(条件)
{
循环体
}
do
{
循环体
}while(条件)
- while循环和for循环比较接近,都是不符合条件就跳出循环。但while不能把初始条件写在括号内,需要用的变量要在while中自己定义。
- do while循环用的比较少,do while循环是先做一次循环体内的循环体再判断条件是否继续进行,要用在那种需要先做一次循环的题目。像判断数字是几位数字。
1.3 跳出循环相关语句break\continue
- break是让循环跳出去,不再执行。
- continue是让循环跳过它下面的的语句,直接重新重循环的第一句开始执行,但是for括号内的后面的最后一个语句也要执行。
1.4循环嵌套
这个真的难到我了,题目难。开始我没有意思到循环嵌套的意思,开始直接一个循环做的,后面知道可以用多个循环嵌套,但是后面的题目还是没有很清晰的思路。
- 像有两种需要输出的东西,比如空格和*,就可以分开用两个循环,把它们需要输出时的条件作为循环的条件,这样就可以控制它们分开输出,也能使思路清晰一点。、
- 一般在输出比较前面的东西,放在外面的循环,里面放比较特殊条件输出的东西。
2.编程技巧总结
2.1数列求和
- 找到不同数据之间的关系,设好条件。运用sum+=itme,存每项的值。
#include<stdio.h>
int main(){
double x=1;
double y=1;
int N ;
double result=0;
scanf("%d",&N);
while(x<N+1){
result=result+x/y;
x++;
y=y+2;
if(x<N+1){
result=result-x/y;
x++;
y=y+2;
}
}
printf("%.3f",result);
return 0;
}
2.2字符转数字
- 减去'0',加上单引号 字符 就会变成它的ASCII码,根据它ASCII码的特点,逐渐加1,我们减去'0'就会变成它自己本身的数字。
2.3逆序数
- 把数字的个位挑出来,赋给逆序数,再去掉一位。重复。
int num;
int backward;
for(;num!=0;)
{
backward=num%10;
num/=10;
}
3.PTA实验作业
3.1数列求和
3.1.1伪代码思路
当项数<=项数的总和时
result+分子/分母→result;
分子+1;
分母+2;
(这时候分子表示的也是已经有的项数)
如果项数<=项数总和
result-分子/分母;
分子+1;
分母+2;
3.1.2代码截图
3.1.3
在vs运行不通过,我就会多观察题目,自己顺着自己写的代码往下走,发现问题,然后解决问题。
3.2图形打印问题
3.2.1数据处理
- 打印菱形
int row;//数行数
int count;//数空格个数或乘号的个数
int flag;//来转换空格和乘号的输出
3.2.2代码截图
- 我看了别人的代码,把自己的代码改进了一点点,可读性更高了一点,但代码还是很长
3.2.3PTA提交列表
在vs运行不通过,我就会多观察题目,自己顺着自己写的代码往下走,发现问题,然后解决问题。
3.3北大校园自行车
3.3.1
- 1.先在需要看数据的地方写个printf输出想监视的数据
3.3.2
有的条件没搞好