• 第一次博客作业


    一、思维导图

    二、语法认识

     1.if-else

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

    else匹配最近的if(没有相应的else匹配的),else后无需再编辑条件

    2.switch

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

    1.在case后的各常量表达式的值不能相同,否则会出现错误。

    2.在case后,允许有多个语句,可以不用{}括起来。

    3.各case和default子句的先后顺序可以变动,而不影响程序的执行结果‘

    4.default子句可以省略不用

    5.switch语句中的break语句并不是每个case语句后都必须有

    3.for

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

    for括号中的两个分号注意不要用成逗号.

    先执行表达式1,对循环变量赋值,再判断循环条件,若为“真”则执行循环语句,接着执行表达式2

    4.while

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

    while语句中的表达式一般是关系表达式或逻辑表达式,只要表达式的值为真即可继续循环

    5.do-while

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

    相比while循环先不判断循环条件循环一次

    6.break和continue语句

    break语句可以用于do-while、for、while循环语句中时可以终止循环而执行循环后面的语句

    注意:1.break语句对if-else语句不起作用  2.在多层循环中,一个break语句只向外跳一层

    continue语句

    其作用是跳过循环本中剩余的语句而强行执行下一次循环.只用在for、while、do-while等循环体中,常与if条件语句一起使用,用来加速循环

     三. pta分数截图

     

     四. pta代码分析

     

    #include <stdio.h>
    int main() {
        int number, temp, i = 0, sum = 0;
        scanf("%d", &number);
        temp = number;
        while (temp) {
            sum += temp % 10;
            temp /= 10;
            i++;
        }
        printf("%d %d
    ", i, sum);
    
        return 0;
    }

    代码思路:用while循环实现在temp为0时结束循环,通过取余和temp对10的整除得到各位数数字之和及位数。

    #include<stdio.h>
    int main(){
        int n,i,l,min;
        scanf("%d",&n);
        scanf("%d",&l);
        min=l;
        for(i=1;i<n;i++){
            scanf("%d",&l);
            if(min>l)
            min=l;
        }  
    printf("min = %d",min);
    return 0;
    } 

     代码思路:先读取确定一个最小值,通过for循环读取剩余的数,每读取一个数便用if将较小值赋予min。

    #include<stdio.h>
    int main()
    {  
        int a,b,i,m,l=0,sum=0,num=0;
         scanf("%d %d",&a,&b);
          for(i=a;i<=b;i++)
            {for(m=1;m<=i;m++)
              {
               if(i%m!=0) 
               l++;
              }
               if(l==i-2) 
              {
               sum=sum+i; num++;
              }
               l=0;
            }
        printf("%d %d",num,sum);
      return 0;
    }

    代码思路:通过for循环判断所有M.N间的数,用if判断该数不能被几个数整除,若l等于该数-2则证明其为素数

  • 相关阅读:
    poj 2482 Stars in Your Window + 51Nod1208(扫描线+离散化+线段树)
    bzoj 1036: [ZJOI2008]树的统计Count (树链剖分+线段树 点权)
    树链剖分+线段树 单点修改 区间求和 模板
    bzoj 2124 等差子序列 (线段树维护hash)
    hdu 5638 Toposort (拓扑排序+线段树)
    hdu 5195 DZY Loves Topological Sorting (拓扑排序+线段树)
    Codeforces Round #250 (Div. 1) D. The Child and Sequence(线段树)
    hive 显示当前数据库名
    【Linux】ssh-keygen 的使用方法及配置 authorized_key s两台linux机器相互认证
    python email 模块
  • 原文地址:https://www.cnblogs.com/2b-or-not-2b-/p/11667693.html
Copyright © 2020-2023  润新知