HDU 2081 手机短号

本文介绍了一种将11位手机号转换为特定格式短号的算法实现,通过逐位提取手机号最后五位并进行倒序输出,最终形成“6+手机号后五位”的短号形式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

手机短号
Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u
Submit

Status

Practice

HDU 2081
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

#include <stdio.h>
int main (){
    long long n,num,i,x,b;
    int a[6];
    scanf("%I64d",&n);
    for (b=1;b<=n;b++){
        scanf("%I64d",&num);
        for(x=1;x<=5;x++){
            a[x]=num%10;
            num=num/10;

        }
        printf("6");
        for(i=5;i>=1;i--){
            printf("%d",a[i]);
        }
         printf("\n");
    }
    return 0;
}

题解:注意输入数据的范围,利用求余与整除的性质将数字分离,

    for(x=1;x<=5;x++){
        a[x]=num%10;
        num=num/10;     
        }

是将11个数字中后5个筛选出来。

for(i=5;i>=1;i--){
    printf("%d",a[i]);
}

倒序输出满足题目要求的输出格式。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值