zoukankan      html  css  js  c++  java
  • 初学c语言的小套路汇总

    1.时间与分钟的计数

    时间和分钟之间是呈60进制进位的,可先化作统一最小单位分钟后再转化为对应的时间

    minutes=count%60(取余)

    hour=count/60

    2.测试当前的类型大小测试当先字符串的长度

    ①printf(“Type int has a size of %zd bytes. ",sizeof(int))

    ②scanf("%s",name)//此处scanf无需用&

        size=sizeof name//此处无需加括号

    letters= strlen(name)

    3获取字符串的长度

    letter=strlen(name)

    4.printf的输出小技巧

    ① - 使得打印项左对齐 

    ②+ 显示数字的符号

    ③(空格) 正显示空格、负显示符号

    ④0   对于数值,用0填充空格 (eg.%02——输出两位 3→03)

    ⑤数字  最小字段宽度 输出数字整齐美观

    5.条件判断时候巧妙利用返回值

    ①利用scanf 的返回值 

     while(status==1)实现在status输入值为非数字时退出循环//scanf返回值为检测到的输入项数,类型不匹配时返回值为0/-1

    ②利用逻辑判断返回值

    while(goat)  只要goat不等于0则符合条件

    6.找组合

    找组合时经常用枚举法,故可以用循环来做,并且用if语句将符合条件的结果记录或者输出 排列组合问题

    7.更新记录获得最大结果法

    在循环中记录下每一个符合条件的值,随着趋假条件的更新,最后输出的条件值即为最新值

    8.问题的联想与转化

    对于结果只有两种情况的问题,应该联想到编程语言中的逻辑判断0/1 例如植树与砍树

    9.整数分解


    #include<stdio.h>
    int main()
    {
    int x;
    scanf("%d",&x);
    int mask=1;
    int t=x;//保证做完第一次循环之后x的值不变
    while(t>9)//保证t还是两位数,输出正确
    {
    t/=10;
    mask*=10;//计算该数位数的同时,获得可得到其最左位的倍数
    }
    do{
    int d=x/mask;
    printf("%d",d);
    if(mask>9){
    printf(" ");//用条件语句来保证最后输出的无空格
    x%=mask;
    mask/=10;
    }
    }while(mask>0);
    printf(" ");
    return 0;
    }

     

  • 相关阅读:
    26 Oracle数据库——分页
    25 PLSQL图形化操作
    24 数据库练习——简单练习
    23 SQL语言——视图 VIEW
    22 SQL语言——索引 index
    21 SQL语言——序列
    20 表结构的增删改
    19 Oracle外键约束
    18 SQL语言——约束
    17 SQL语言——子查询与关键字in
  • 原文地址:https://www.cnblogs.com/wengst/p/11828164.html
Copyright © 2011-2022 走看看