zoukankan      html  css  js  c++  java
  • 第一次博客作业

    一. 制作思维导图

    二. 写出自己对以下语法的认识

    1.if-else

    if (表达式)
    {
        语句1;
    }else
    {
        语句2;
    }
    

    没有大括号时,else总是与离它最近的不带else的if相配对.
    判断表达式是否相等时注意用==而不是=.

    2.switch

    switch(表达式)
    {
        case 常量表达式1:
            语句1;
            break;
            ......
        case 常量表达式n;
            语句n;
            break;
        default:
            语句n+1;
            break;
    }
    

    case的每个常量表达式不能相等.
    可以不使用default,则case条件都不满足时,不执行任何操作.

    3.for

    for(表达式1;循环条件;表达式2)
    {
        循环语句;
    }
    

    for括号中的两个分号注意不要用成逗号.
    表达式1为循环开始条件,表达式2为每结束一次循环后需执行的操作.
    表达式1、2可省略,但分号必须保留.

    4.while

    while(循环条件)
    {
        循环语句;
    }
    

    先判断循环条件,后进入循环.

    5.do-while

    do
    {
        循环语句;
    }while(循环条件);
    

    先执行一次循环语句,再判断循环条件.
    所以无论是否满足循环条件,循环至少执行一次.

    6.break以及continue

    ·break:结束循环.
    ·continue:跳过循环体中continue后面的语句,继续下一次循环.

    三. pta分数截图



    四. pta代码分析

    #include <stdio.h>
    
    int main()
    {
        int m, n, t, flag = 0;
        char c;
        scanf("%d %c %d", &m, &c, &n); /*读入数据以及运算符*/
        switch (c) /*根据不同的运算符选择不同的运算方式,并将所得的值存入变量t*/
        {
            case '+':
                t = m + n;
                break;
            case '-':
                t = m - n;
                break;
            case '*':
                t = m * n;
                break;
            case '/':
                t = m /n;
                break;
            case '%':
                t = m % n;
                break;
            default:
                printf("ERROR
    "); /*非法运算符*/
                flag = 1;
                break;
        }
        if (flag == 0)
        {
            printf("%d
    ", t); /*输出结果*/
        }
       
        return 0;
    }
    

    思路见注释.
    错误:输入非法运算符,输出ERROR和t的值.
    解决方法:定义flag = 0;当输入非法运算符时,让flag = 1;只有flag = 0时,才输出t的值.
    学到了:输出时应注意细节,保证输出内容与题目所给要求相符.

    #include <stdio.h>
    int main()
    {
        double m, n, x;
        
        scanf("%lf %lf", &m, &n);
        
        if (m <= n){ /*判断是否超速*/
            printf("OK
    ");
        }else if (m > n){
            x = (m-n)/n * 100.0; /*计算超速的百分比*/
            if (x < 10){
                printf("OK
    ");
            }else if (x >= 50){
                printf("Exceed %.0f%%. License Revoked
    ", x);
            }else{
                printf("Exceed %.0f%%. Ticket 200
    ", x);
            }
        }
        
        return 0;
    }
    

    思路见注释.
    错误:输出超速百分比时数字后没有%.
    解决方法:代码中多加一个%,即%%
    学到了:%为特殊的符号,想要输出一个%时代码应为两个%.

    #include <stdio.h>
    int main()
    {
        double height, n;
        scanf("%lf %lf", &height, &n);
        double last = 0;
        double distance = 0;
        double t = height;
        
        if(n > 0)
        {
            for (int i = 1; i <= n; i++)
            {
                distance += height * 2.0; /*落地一次路程增加高度的两倍*/
                height /= 2.0; /*弹跳高度每次减半*/
            }
            last = height; /*第n次落地后再次弹起的高度*/
            distance -= t;
        }
        printf("%.1f %.1f
    ", distance, last);
        
        return 0;
    }
    
    

    思路见注释.
    错误:第一次落地时,路程等于高度,误计算为高度*2.
    解决方法:在循环结束后在总路程上减去初始高度.
    学到了:在纸上进行演算,很容易发现错误所在.

  • 相关阅读:
    图论--曼哈顿距离最小生成树模板
    图论--生成树计数模板
    图论--欧拉回路--弗罗莱算法模板
    Codeforce 1255 Round #601 (Div. 2)D. Feeding Chicken (模拟)
    pta 习题集5-17 家谱处理
    pta习题集5-16 地下迷宫探索
    pta 习题集5-17 哥尼斯堡的“七桥问题”
    pta习题集5-16 朋友圈
    pta 习题集5-19 列车厢调度
    pta 习题集5-18 打印学生选课清单
  • 原文地址:https://www.cnblogs.com/wzt392217419/p/11651209.html
Copyright © 2011-2022 走看看