题目描述
大家都知道,手机号是一个11位长的数字串,同时,作为学生,还可以申请加入校园网,如果加入成功,你将另外拥有一个短号。假设所有的短号都是是 6+手机号的后5位,比如号码为13512345678的手机,对应的短号就是645678。
现在,如果给你一个11位长的手机号码,你能找出对应的短号吗?
输入
输入数据的第一行是一个N(N <= 200),表示有N组输入数据,接下来的N行每一行为一个11位的手机号码。
输出
输出应包括N行,每行包括一个对应的短号,输出应与输入的顺序一致。
样例输入 Copy
2 13512345678 13787600321
样例输出 Copy
645678 600321
提示
scanf()函数中,可用%md指定读取位数。
来源/分类
方法一
(1)scanf()函数,%md指定读取位数。
(2)赋值抑制符号*:用以表示该输入项读入后不赋予相应的变量,即跳过该输入值。
#include<stdio.h>
int main(){
int n,i,m;
scanf("%d",&n);
for(i=0;i<n;i++){
scanf("%*6d%5d",&m);
printf("6%05d\n",m);
}
return 0;
}
方法二
数组
#include<stdio.h>
int main(){
int n,i;
char arr[11];
scanf("%d",&n);
for(i=0;i<n;i++){
scanf("%s",arr);
printf("6%c%c%c%c%c\n",arr[6],arr[7],arr[8],arr[9],arr[10]);
}
return 0;
}
方法三
方法一二结合
#include<stdio.h>
int main(){
int n,i;
char arr[11];
scanf("%d",&n);
for(i=0;i<n;i++){
scanf("%*6s%5c",arr);
printf("6%s\n",arr);
}
return 0;
}