View Code of Problem 3689

#include<stdio.h>
#include<math.h>
#include<string.h>
//#include<algorithm>
#include <bits/stdc++.h>

using namespace std;

int main() {
	int T;
	scanf("%d",&T);
	int k=1;
	while(T--) {
		int out=0;
		string A,B;
		cin>>A;
		cin>>B;
		int panduan=0;
		if(A.length()<B.length()) {
			while(A.length()<B.length()) {
				A="0"+A;
			}
			panduan=0;
		} else if(A.length()>B.length()) {
			while(A.length()>B.length()) {
				B="0"+B;
			}
			panduan=1;
		} else {
			int z=0;
			while(A[z]==B[z]) {
				z++;
			}
			if(A[z]>B[z]) {
				panduan=0;
			} else {
				panduan=1;
			}

		}
		int numA[101];
		int numB[101];
		for(int i=0; i<A.length(); i++) {
			numA[i]=A[i]-'0';
			numB[i]=B[i]-'0';
		}

		if(panduan==0) {
			for(int i=0; i<A.length(); i++) {
				if(i!=0) {
					if(numA[i]<numB[i]) {
						numA[i]=numA[i]+10-numB[i];
						numA[i-1]--;
					} else {
						numA[i]=numA[i]-numB[i];
					}
				} else {
					numA[i]=numA[i]-numB[i];
				}
			}
		} else {
			for(int i=0; i<A.length(); i++) {
				if(i!=0) {
					if(numB[i]<numA[i]) {
						numB[i]=numB[i]+10-numA[i];
						numB[i-1]--;
					} else {
						numB[i]=numB[i]-numA[i];
					}
				} else {
					numB[i]=numB[i]-numA[i];
				}
			}
		}



		printf("Case #%d:\n",k);
		if(panduan==1) {
			printf("-");
			for(int i=0; i<B.length(); i++) {
				if(numB[i]==0&&out==0) {
				} else {
					printf("%d",numB[i]);
					out=1;
				}
			}
		} else {
			for(int i=0; i<A.length(); i++) {
				if(numA[i]==0&&out==0) {
				} else {
					printf("%d",numA[i]);
					out=1;
				}
			}
		}
		if(out==0) {
			printf("0\n");
		}
		printf("\n");
		k++;
	}
}

Double click to view unformatted code.


Back to problem 3689