2081 手机短号

关键字: 代码分享 杭电100题

问题描述

Problem Description

大家都知道,手机号是一个11位长的数字串,同时,作为学生,还可以申请加入校园网,如果加入成功,你将另外拥有一个短号。假设所有的短号都是是 6+手机号的后5位,比如号码为13512345678的手机,对应的短号就是645678。

现在,如果给你一个11位长的手机号码,你能找出对应的短号吗?

Input

输入数据的第一行是一个N(N <= 200),表示有N个数据,接下来的N行每一行为一个11位的手机号码。

Output

输入数据的第一行是一个N(N <= 200),表示有N个数据,接下来的N行每一行为一个11位的手机号码。

Sample Input

2
13512345678
13787654321

Sample Output

645678
654321

问题分析

Problem Analyse

字符串处理

Algorithm Analyse

这个不用说了把。你可以按字符串处理,也可以按整数处理。给出以下两段AC代码:

字符串

#include <stdio.h>

int main(void)
{
  int n;
  char s[12];
  scanf("%d", &n);
  while (n--&&scanf("%s", s))
    printf("6%s\n", s+6);
  return 0;
}

整数

#include <stdio.h>

int main(void)
{
  int n;
  __int64 x;
  scanf("%d", &n);
  while (n--&&scanf("%I64d", &x))
    printf("6%05I64u\n", x % 100000);
  return 0;
}

参考源码

redraiment使用Emacs Lisp批量迁移《HDU 2080-2089》