zoukankan      html  css  js  c++  java
  • 玄学C语言之scanf,printf

    #include <bits/stdc++.h>
    using namespace std;
    int main()
    {
        int a,c,d;
        char b[200];
        scanf("%d.",&a);
        scanf("%[^e]%ne%d",b,&c,&d);
        if(b[0]=='0'&&c==1&&d==0)
            printf("%d",a);
        else if(d>=c)
        printf("%d%s%.*d",a,b,d-c,0);
        else
        printf("%d%.*s.%s",a,d,b,b+d);
        return 0;
    }

    这个科学记数法的代码真的简洁。。。 可以计算 2.(100 位)e(0<=&&<=100)

    %[^e]代表读入字符至e停止  23wsase->23wsas

    %[e]代表只读入e 遇到非e停止  如2eee3 -> 空  eee22e3-> eee

    %n就是在本scanf里到%n之前一共读入的字符个数

    %*代表的是输入但不存储 吃掉某些东西

    e或者任意字符 代表匹配

    22es30 读入两个整型可以用%des%d

    %*.* 第一个*代表宽度 第二个*代表精度

    举个栗子

    printf("%.*s ", 1, "abc");        // 输出a
    printf("%.*s ", 2, "abc");        // 输出ab
    printf("%.*s ", 3, "abc");        // 输出abc >3是一样的效果 因为输出类型type = s,遇到''会结束

    printf("%.*s ", 100, "abc");   //输入abc

  • 相关阅读:
    javascript定义
    JavaScript学习笔记
    PostgreSQL数据库配置
    python 时间戳转时间 timestamp to time
    WebGIS:Vue+Flask+PostGIS+Geoserver开发环境配置
    GeoServer环境配置
    Vue前端环境配置
    Flask后端环境配置
    1.顺序表
    汇编语法--AT&T VS. intel
  • 原文地址:https://www.cnblogs.com/Geek-xiyang/p/5827845.html
Copyright © 2011-2022 走看看