循环结构

这个作业属于哪个班级 C语言--网络2011/2012
这个作业的地址 C博客作业00--顺序分支结构
这个作业的目标 学习循环结构内容,包括for循环、while循环、循环嵌套

0.展示PTA总分


1.本章学习总结

1.1 for循环语法

for (循环变量类型 循环变量名称;循环结束条件;更新语句)
{
循环体
}

1.2 while、do while循环语法

while(表达式)
{
语句1;
语句 n;
}

do
{
语句;
表达式3;
} while(表达式2);

1.3 跳出循环相关语句break\continue

break是结束整个循环体,continue是结束单次循环

while(x++ < 10) 
{ 
if(x == 3) 
{ 
break; 
} 
printf("%d\r\n", x); 
}

结果是输出 1 2 就退出了整个while循环

while(x++ < 10) 
{ 
if(x == 3) 
{ 
continue; 
} 
printf("%d\r\n", x); 
} 

结果是:1 2 4 5 6 7 8 9 10 可见他仅仅是不输出3,因为他结束了本次循环

1.4 循环嵌套

规则:1.内循环作为外层循环的循环体,每次执行外层循环,内层循环都要完整的循环一次
2.假设外层循环执行m次,内层循环执行n次,则循环总次为二者乘积,即mn。
例子
本题要求编写程序,打印一个高度为n的、由“
”组成的正菱形图案。
外循环作为空格数
内循环作为*数

for(int i=0;i<n;i++)
{

        for(int j=0;j<s;j++)
        {
            printf(" ");
        }
        s-=2;
        for(int k=1;k<=m;k++){
            if(k==m){
                printf("* \n");
            }else{
                printf("* ");
            }
        }
        if(m==n){
            break;
        }
        m+=2;
    }
    m-=2;
    s=2;
    for(int i=n-2;i>=1;i-=2){
        for(int j=0;j<s;j++){
            printf(" ");
        }
        s+=2;
        for(int j=1;j<=m;j++){
            if(j==m){
                printf("* \n");
            }else{
                printf("* ");
            }
        }
        m-=2;
    }

2.编程技巧总结

+各种数列求和问题:找到数列求和题目中每次循环对应的规律再将其累加
+字符如何转数字、数字逆序问题:
利用%10再/10来取末位数,当/10后数字为零时则数字已经被拆分成多个单位数再来排序
+图形打印问题:找到图形空格和符号在整个图形中对应的数学规律再用循环表达
+四则运算:这个想不到什么注意的事项

3.PTA实验作业

3.1 数列求和问题

题目:

3.1.1 流程图

3.1.2代码截图

3.1.3 PTA提交列表及说明


遇到这种题目先找到其单独项的数学规律在进行循环求和,注意循环终止的条件。

3.2 图形打印问题

题目:

3.2.1 数据处理

题中主要数据有'*'的数量Star
' '的数量Spaces
行数i

3.2.2 代码截图

3.2.3 PTA提交列表及说明


这个题目中由于''' '都不是单调变化的而是都在中间去最大或者最小,于是我用绝对值来计算更加简便,注意输出''要判断是否已是所在行的最后一个
借此来决定是否换行

3.3printf调试检查错误

题目:

3.3.1 printf调试截图



发现未曾进入循环且i的值大于输入最大值N;
检查发现{}没了

修改后

提交后

posted @ 2020-11-22 14:52  苏艺铭  阅读(267)  评论(1编辑  收藏  举报