Chúng ta có thể sử dụng các loại dữ liệu sẵn có để so sánh hai số nguyên phù hợp với phạm vi của loại dữ liệu tương ứng. Như bạn đã biết, có giới hạn số nguyên tối đa có thể được lưu trữ trong một loại dữ liệu. Chúng tôi sẽ sử dụng các chuỗi để lưu trữ số nguyên và sau đó tạo một hàm để so sánh các số nguyên. Một số nguyên có thể là tích cực, bằng không hoặc âm, chúng tôi sẽ chăm sóc nó trong chương trình của chúng tôi. Nếu cả hai số là dương: nếu độ dài của một trong số chúng lớn hơn số khác, số lượng lớn hơn là lớn hơn. Nếu độ dài của cả hai là giống nhau thì chúng tôi so sánh các chữ số riêng lẻ của cả hai số, nếu bất kỳ chữ số nào của đầu tiên là lớn hơn thì số thứ hai thì đầu tiên lớn hơn và ngược lại. Nếu cả hai chữ số đều bằng nhau thì chúng ta sẽ chuyển sang các chữ số tiếp theo. Nếu chuỗi kết thúc thì cả hai số đều bằng nhau. Nếu bất cứ ai trong số là âm thì số dương là số lớn hơn. Nếu cả hai số đều âm thì logic giống với số so sánh các số dương ngoại trừ một thứ: số có độ lớn nhỏ hơn là số lớn hơn. #include #include int so sánh [char [], char []]; compare[char [], char []];Thuật toán so sánh:
C chương trình để so sánh các số bằng chuỗi
#include
int main [] {& nbsp; char a [1000], b [1000]; & nbsp; int n;
main[]
{
char a[1000], b[1000];
int n;
& nbsp; printf ["Nhập hai số nguyên \ n"];printf["Enter two integers\n"];
& nbsp; Scanf ["%s%s", a, b];scanf["%s%s", a, b];
& nbsp; n = so sánh [a, b];= compare[a, b];
& nbsp; if [n == 1] & nbsp; & nbsp; printf ["Đầu tiên. \ n"]; & nbsp; otherif [n == 0] & nbsp; & nbsp; printf ["bằng nhau. \ n"]; & nbsp; khác & nbsp; & nbsp; printf ["thứ hai. \ n"];if [n == 1]
printf["First.\n"];
else if [n == 0]
printf["Equal.\n"];
else
printf["Second.\n"];
& nbsp; return0;}return 0;
}
int so sánh [char a [], char b []] {& nbsp; int L1, L2, P1, P2, N; compare[char a[], char b[]]
{
int l1, l2, p1, p2, n;
& nbsp; // Kiểm tra xem bất kỳ số nào có âm không// Checking if any of the numbers is negative
& nbsp; if [a [0] == '-'] & nbsp; & nbsp; p1 = 0; & nbsp; khác & nbsp; & nbsp; P1 = 1;if [a[0] == '-']
p1 = 0;
else
p1 = 1;
& nbsp; if [b [0] == '-'] & nbsp; & nbsp; p2 = 0; & nbsp; khác & nbsp; & nbsp; P2 = 1;if [b[0] == '-']
p2 = 0;
else
p2 = 1;
& nbsp; // Tính độ dài của chuỗi// Calculating length of strings
& nbsp; l1 = strlen [a]; & nbsp; l2 = strlen [b];= strlen[a];
l2 =
strlen[b];
& nbsp; // cả hai số dương// Both numbers positive
& nbsp; if [p1 == 1 && p2 == 1] {& nbsp; & nbsp; if [l1> l2] & nbsp; & nbsp; & nbsp; return1; & nbsp; & nbsp; otherif [l2> l1] & nbsp; & nbsp; & nbsp; return2; & nbsp; & nbsp; khác {& nbsp; & nbsp; & nbsp; for [n = 0; n b [n]] & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; return1; & nbsp; & nbsp; & nbsp; & nbsp; if [b [n]> a [n]] & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; return2; & nbsp; & nbsp; & nbsp; } & nbsp; & nbsp; & nbsp; if [n == l1] & nbsp; // có thể được xóa [tùy chọn] & nbsp; & nbsp; & nbsp; & nbsp; return0; & nbsp; & nbsp; } & nbsp; }if [p1 == 1 && p2 == 1] {
if [l1 > l2]
return 1;
else if
[l2 > l1]
return 2;
else {
for [n = 0; n
b[n]]
return 1;
if [b[n] > a[n]]
return 2;
}
if [n ==
l1] // Can be removed [optional]
return 0;
}
}
& nbsp; // Nếu một số là dương và số khác là âm// If one number is positive and other is negative
& nbsp; if [p1 == 1 && p2 == 0] // đầu tiên không có tích cực & nbsp; & nbsp; return1; & nbsp; if [p1 == 0 && p2 == 1] // thứ 2 không có tích cực & nbsp; & nbsp; return2;if [p1 == 1 && p2 == 0] // 1st no positive
return
1;
if [p1 == 0 && p2 == 1] // 2nd no positive
return 2;
& nbsp; // Nếu cả hai số âm âm// If both numbers negative
& nbsp; Nếu [l1if [l1