top1编程
← 返回题目
题解

【入门】两数差

2 条题解

  • 0
    @ 2026-7-29 20:23:52
    #include<bits/stdc++.h>
    using namespace std;
    int main(){
    	int n,a,b,c,d,m;
    	cin>>n;
    	a=int(n/1000); 
    	b=int(n/100%10);
    	c=int(n/10%10);
    	d=n%10;
    	m=1000*d+100*c+10*b+a;
    	if (n > m){
    		cout << n << "-" << m << "=" << n - m;
    	}else{
    		cout << m << "-" << n << "=" << m - n;
    	}
    }
    
    • 0
      @ 2026-7-29 0:17:09
      #include <iostream>
      using namespace std;
      
      int main() {
          int original, reversed_num = 0;
          cin >> original; // 读取原始四位数
          int temp = original; // 临时变量,用于拆解数字(避免修改原数)
      
          // 步骤1:拆解并构造倒序数
          // 个位:temp%10 → 十位:(temp/10)%10 → 百位:(temp/100)%10 → 千位:temp/1000
          reversed_num = (temp % 10) * 1000 + ((temp / 10) % 10) * 100 + ((temp / 100) % 10) * 10 + (temp / 1000);
      
          // 步骤2:计算正数差值,并按格式输出
          int diff;
          if (reversed_num > original) {
              diff = reversed_num - original;
              cout << reversed_num << "-" << original << "=" << diff << endl;
          } else {
              diff = original - reversed_num;
              cout << original << "-" << reversed_num << "=" << diff << endl;
          }
      
          return 0;
      }
      
      • 1