zoukankan      html  css  js  c++  java
  • pat乙级1019

    求四位数的每一位:

    1 int a[4];
    2 for (int i = 0; i < 4; i++)
    3 {
    4    a[i] = n % 10;
    5    n /= 10;
    6 }

    输出4位整数,少于4位,高位补0:

    1 printf("%04d", n);

    6174是一个测试点,所以用do....while语句。

     1 #include <iostream>
     2 #include <string>
     3 
     4 using namespace std;
     5 
     6 int up, down;
     7 void getNumber(int n)
     8 {
     9     int a[4];
    10     for (int i = 0; i < 4; i++)
    11     {
    12         a[i] = n % 10;
    13         n /= 10;
    14     }
    15     for (int i = 0; i < 4; i++)
    16     {
    17         for (int j = i; j > 0 && a[j] > a[j - 1]; j--)
    18         {
    19             int temp = a[j];
    20             a[j] = a[j - 1];
    21             a[j - 1] = temp;
    22         }
    23     }
    24     
    25     down = a[0] * 1000 + a[1] * 100 + a[2] * 10 + a[3];
    26     up = a[3] * 1000 + a[2] * 100 + a[1] * 10 + a[0];
    27 }
    28 
    29 int main()
    30 {
    31     
    32     int n;
    33     cin >> n;
    34 
    35     do {
    36         getNumber(n);
    37         n = down - up;
    38         printf("%04d - %04d = %04d
    ", down, up, n);
    39     } while (n != 6174 && n != 0000);
    40 
    41     return 0;
    42 }
  • 相关阅读:
    1-5-03:均值
    1-5-01:求平均年龄
    1-04-t6993:二进制位处理
    1-4-20:求一元二次方程的根
    1-4-19:简单计算器
    1-4-18:点和正方形的关系
    1-4-17:判断闰年
    1-4-16:三角形判断
    1-4-15:最大数输出
    停止IIS服务
  • 原文地址:https://www.cnblogs.com/lxc1910/p/8458525.html
Copyright © 2011-2022 走看看