河岸柳 发表于 2021-9-28 21:28:24

新手求助

为什么输出结果错误?

Problem
手机号是一个11位长的数字串,假设所有的短号都是是 6+手机号的后5位,比如号码为13512345678的手机,对应的短号就是645678。现在,找出对应的短号

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

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

Sample Input
2
13512345678
13787654321

Sample Output
645678
654321

我的代码如下:
#include<stdio.h>

int main()
{
        int N, i, num, result;
        while(scanf("%d",&N)!=EOF)
        {
                for(i=0;i<N;i++)
                {
                        scanf("%d",&num);
                        result=num%100000;
                        result=6*100000+result;
                        printf("%d",result);
                }
        }
       
        return 0;
}

wp231957 发表于 2021-9-28 21:28:25

#include<stdio.h>

int main()
{
      unsigned long longnum, result;
      int N;
      printf("请输入数量:");
      scanf("%d",&N);
      for(int i=0;i<N;i++)
      {
                scanf("%llu",&num);
                result=num%100000;
                result=6*100000+result;
                printf("%llu\n",result);
      }
      return 0;
}

傻眼貓咪 发表于 2021-9-30 12:53:35

# include <stdio.h>

int main()
{
    int N;
    scanf("%d", &N);
    for(int n=0; n<N; n++){
      long num;
      scanf("%ld", &num);
      int x = num%100000;
      printf("%d", x+600000);
    }
    return 0;
}
页: [1]
查看完整版本: 新手求助