73 手机短号
作者: xxx时间限制: 1S章节: 字符串
问题描述 :
大家都知道,手机号是一个11位长的数字串,同时,作为学生,还可以申请加入校园网,如果加入成功,你将另外拥有一个短号。假设所有的短号都是“6”+手机号的后5位,比如号码为13512345678的手机,对应的短号就是645678。
现在,如果给你一个11位长的手机号码,你能找出对应的短号吗?
输入说明 :
输入数据的第一行是一个N(N <= 1000),表示有N个数据,接下来的N行每一行为一个11位的手机号码。
输出说明 :
输出应包括N行,每行包括一个对应的短号,输出应与输入的顺序一致。
输入范例 :
2
70711457490
47810534444
输出范例
657490
634444
笔记
PE了。一翻用例:
我寻思着也没问题啊。但把输出切换成ASCII码,便发现了端倪:
啧。我把字符数组末尾的\0也输出来了。
我是使用gets()来读入字符串的,由于gets()会自动在字符串数组的末尾补\0,因此数组长度就设长了一个。
然后循环输出的时候不小心把长度写错了emmm。
代码
#include<stdio.h>
int main(){
int N;
scanf("%d",&N);
getchar();
char phone[12];
int i;
while(N){
gets(phone);
printf("6");
for(i=6;i<11;i++)
printf("%c",phone[i]);
printf("\n");
N--;
}
return 0;
}