ACM-白皮书3

本文出自svtter.github.io

整数进制输出

printf("%d %o %x\n", a);

把整数按照十进制,八进制和十六进制输出.

$2^32-n$补码表示法.

字符处理

使用Ctrl+D时, getchar()读到的是-1

#include <stdio.h>
#include <string.h>
int main(int argc, const char *argv[])
{
    char c = getchar();
    printf("%d%c\n", c, c);
    return ;
}

假设一个年份为1993/12/12, 那么如何简单获取年月日?

使用sscanf函数.

#include <stdio.h>
#include <string.h>
int main(int argc, const char *argv[])
{
    int year, month, day;
    char s[] = "1993/12/12";
    sscanf(s, "%d/%d/%d", &year, &month, &day);
    printf("%d/%d/%d\n", year, month, day);
    return ;
}

可以使用fgets(s, MAXN, stdin)来获取简单的输入. 一次读入一行,包括空格,遇到\n结束读入

简单习题

  • 分数统计