2 条题解

  • 0
    
    #include<stdio.h>
    int main()
    {
        int n;
        scanf("%d", &n);
        int flag = n;
        int i = 0;
    
        //输入值位数->N
        int N =1;
        while (n >= 10)
        {
            N++;
            n = n / 10;
        }//结束循环后,此时的n为最高位对应的数
    
        //逆序存入数组
        int a[10]={0};//理论上开九个,可惜测试点只用开3个(不是
        for (i = N - 2; i >= 0; i--)
        {
            a[i] = flag % 10;
            flag = flag / 10;
        }
    
        //正向输出数组
        for (i = 0; i < N - 1; i++)
            printf("%d", a[i]);
        printf("%d", n);
    
        return 0;
    }
    
    
  • -3
    @ 2019-04-09 16:16:28
    #include<stdio.h>
    //思路 除法取出最高位,然后取余取出其他位,然后先输出其它位,再输出最高位
    int main()
    {
        int number;
        int high;//最高位
        int temp;
        int other;//除了最高位的其它位
        int length = 0;
        int quyu = 1;
        scanf("%d", &number);
        temp = number;
        while (temp / 10 > 0)
        {
            temp = temp / 10;
            length++;
        }
        for (int i = 0; i < length; i++)
        {
            quyu = quyu * 10;
        }
        high = temp;
        other = number % quyu;
        printf("%d", other);
        printf("%d", high);
    }
    
  • 1

信息

难度
8
分类
(无)
标签
递交数
3446
已通过
488
通过率
14%
被复制
8
上传者