武汉科技大学ACM :1005: 零起点学算法101——手机短号

Problem Description

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

Input

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

Output

输出应包括N行,每行包括一个对应的短号,输出应与输入的顺序一致。

Sample Input

2
13512345678
13787654321

Sample Output

645678
654321

HINT

如果用字符串,建议用scanf("%s")读入。

 

我的代码:

 1  #include <iostream>  
 2     using namespace std;  
 3     int main()  
 4     {  
 5         int N;  
 6         cin>>N;  
 7         while(N--){  
 8             char a[11];  
 9             cin>>a;  
10             cout<<6;  
11             for(int i=6;i<11;i++)  
12                 cout<<a[i];  
13             cout<<endl;  
14         }  
15         return 0;  
16     }  

其他代码:

 1 #include<stdio.h>
 2 #include<string.h>
 3 int main()
 4 {
 5     int n,i=0;
 6     char phone[12];
 7     scanf("%d",&n);
 8     for(i=0;i<n;i++){
 9         scanf("%s",phone);
10         phone[5]=6;
11         for(int j=5;j<11;j++)
12             putchar(phone[j]);
13         printf("\n");
14     }
15     return 0;
16 }
 1 #include <iostream>
 2 
 3 using namespace std;
 4 
 5 int main()
 6 {
 7    int N;
 8    cin>>N;
 9    if(N<=0 || N>200)
10     return 0;
11     char (*a)[11]=new char[N][11];
12      char (*r)[7]=new char[N][7];
13    for(int i=0;i<N;++i)
14    {
15        cin>>a[i];
16        for(int j=6;j<11;++j)
17        {
18            r[i][0] = 6;
19            r[i][j-5] = a[i][j];
20            r[i][6] = \0;
21        }
22 
23    }
24    for(int i=0;i<N;++i)
25    {
26        cout<<r[i]<<endl;
27    }
28     return 0;
29 }

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。