0

我正在尝试提出 C 中的 IO 示例。因此,我正在查看用于 ACM ICPC 输入示例的 UVA。我遇到了这个练习。我觉得没问题,所以我编写了这个代码:

  while(fgets(tmp,MAX,stdin)!=NULL){
    sscanf(tmp,"%d %d", &x, &y);
    printf ("num1: %d, num2: %d\n",x,y);
  }

对于这个输入

12   5
    10     A
12 34
  123   456
  1    2
  10   2

问题是......他们接受一个字符(在这种情况下A)......我该如何检查?我确实需要那个A。

4

1 回答 1

3

由于这两个项目可以是任何基数,只需将这两个项目作为字符串读取(%sscanf函数系列中使用)并将它们存储到 2 个数组中,然后使用strtol(以及相关函数,如strtoll, strtoull, ...)将其转换为不同的基数测试是否相等。

于 2013-04-30T14:30:27.103 回答