DHU OJ | 基本练习-73 手机短号 | 字符串

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;
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章