• 输入输出格式总结


    C语言

    • scanf除了%c以外,对其他格式符的输入是以空白符(空格,TAB,回车)作为结束标志

    • 因此scanf除非%c把空格按字符读入,其他情况会跳过空格

    • %c 可以接收空格,tab,回车

    • 字符串使用%s读入时,是以空格和换行作为读入结束标志

    • 使用getchar,putchar输入输出单个字符

      • getchar可以识别换行符,所以敲回车的时候如果后面有getchar就会被存进去
    • 2#3 这种有格式的输入,不要忘记scanf里面要保持这个格式

    • gets用于输入一行字符串,puts用于输出字符串,并外加了一个换行

      • 如果gets前面还有一个scanf或者cin ,记得用getchar吸收
    • 实用输出格式

      //%md  超过或等于m位保持原样,不足m位,高位用空格补齐
      printf("%5d");
      //%0md  超过或等于m位保持原样,不足m位,高位用0补齐!!!!!!非常好用
      printf("%05d");
      //%.mf  保留m位小数输出
      printf("%.5f");
      

    C++

    • 控制输出位数
    #include<iomanip> //控制时要加入这个头文件
    cout << setiosflags(ios::fixed)<<setprecision(2)<<123.4567<<endl;//控制输出位数
    
    • string 只能用cin,cout 输入输出
    • 2#3 这种有格式的输入,可以另外一个char变量,cin>>ch吸收它
    • getline 用于输入一整行字符串
      • 如果getline前面还有一个scanf 或者cin ,记得用getchar吸收
    //string类型
    string str;
    getline(cin, str);
    //char *类型
    char s[20];
    cin.getline(s, 20);
    
    • 使用map时,字符串到整型映射,必须用string

    案例

    //输入格式:字符串1 字符串2 字符串3 ...数量未知
    //输入格式:数字1 数字2 数字3 ...
    //这种限于后面没有其他输入了
    //这也是输入多组数据,组数未知的方式
    while(scanf("%s")!=EOF){
        
    }
    
    /*
    输入格式:
    123 [数字]
    aa bb cc [是一个整体的字符串]
    字符串1 字符串2 字符串3 ... [组数未知的多组字符串]
    1998 [数字]
    */
    //c++
    cin>>id;
    getchar();  //注意!!
    getline(cin,str1);
    while(cin>>str2){
        ...
        char ch = getchar();
        if(ch == '
    ') break; //注意!!
    }
    cin>>num;
    //c语言
    scanf("%d",&n);
    getchar(); //注意!!
    gets(str);
    while(scanf("%s",str2)!=EOF){
        ...
        char ch = getchar();
        if(ch == '
    ') break;
    }
    scanf("%d",&num);
    
  • 相关阅读:
    markdown grammar
    vs the address of offline package
    步步为营-66-Socket通信
    步步为营-65-线程小例子
    线程使用中常见的错误-“System.InvalidOperationException”线程间操作无效: 从不是创建控件“ ”的线程访问它。
    步步为营-64-进程&线程
    步步为营-63-Asp.net-get与post
    步步为营-62-Excel的导入和导出
    步步为营-61-拼音组件
    步步为营-60-代码生成器
  • 原文地址:https://www.cnblogs.com/doragd/p/11315191.html
Copyright © 2020-2023  润新知