Cách so sánh 2 xâu

Khi so sánh 2 số trong C thì ta có một số phép toán làm rất đơn giản , >=, 0] printf[" => %s > %s", s1, s2]; if[x == 0]printf[" => %s = %s", s1, s2]; printf["\n\n"]; } while [ strcmp[s1, s2] != 0]; return 0; }

Kết quả:

Enter s1: Hang Enter s2: Ho

x = -1 => Hang < Ho

Enter s1: Hong Enter s2: Hon

x = 1 => Hong > Hon

Enter s1: Hung Enter s2: hung

x = -1 => Hung < hung

Enter s1: Quan Enter s2: Quan

x = 0 => Quan = Quan

2. Nguyên tắc so sánh

Nguyên tắc so sánh 2 chuỗi đó là duyệt lần lượt 2 từng ký tự của 2 chuỗi. So sánh mã ACSII của 2 ký tự đó, mã ký tự nào lớn hơn tức là chuỗi lớn hơn và ngừng so sánh. Nếu một chuỗi nào hết ký tự để so sanh trước thì chuỗi đó bé hơn.

s1 s2 Kết quả Nguyên nhân
Hang Ho Hang < Ho do a < o [97 < 111]
Hong Hon Hong > Hon do s2 hết ký tự để so sánh
Hung hung Hung < hung do H < h [72 < 104]
Quan Quan Quan = Quan 2 chuỗi giống nhau hoàn toàn

Tham khảo bảng mã ACSII

Code c:

#include

#include

void SoSanh[char s[],char s2[]] {

            int i,ok = 0;

            for[i=0; i s2[i]]

                                                ok = 1;

                                    else

                                                ok = 2;

                        }

            }

            if[ok == 0]

                        printf["Hai chuoi bang nhau!"];

            else if[ok == 1]

                        printf["Chuoi s1 = %s lon hon chuoi s2 = %s!",s,s2];

            else

                        printf["Chuoi s2 = %s lon hon chuoi s1 = %s!",s2,s];

}

int main[] {

            char s1[100],s2[100];

            printf["Nhap thu nhat: "];

            gets[s1];

            fflush[stdin];

            printf["Nhap thu hai: "];

            gets[s2];

            SoSanh[s1,s2];

            return 0;

}

Em đang học về xâu và em có sử dụng hàm strcmp[] trong thư viện string.h . Cho em hỏi nguyên tắc so để so sánh 2 xâu , số và xâu ký tự và cách trả về giá trị của hàm strcmp[].

nguyenson9799:

cách trả về giá trị của hàm strcmp[]

Lần sau search google trước khi hỏi.

//en.cppreference.com/w/cpp/string/byte/strcmp

//www.cplusplus.com/reference/cstring/strcmp/

nguyenson9799:

Cho em hỏi nguyên tắc so để so sánh 2 xâu , số và xâu ký tự

So sánh 2 số: Toán học thuần tuý

So sánh 2 kí tự/xâu: so sánh tuần tự từng kí tự, gặp kí tự nào có mã ASCII lớn hơn thì xâu đó lớn hơn.

Giải thích:

GeeksforGeeks – 19 Jun 17

strcmp[] is a built-in library function and is declared in header file. This function takes two strings as arguments and compare these two strings… Read More »

Mã giả:

for i in min[len[s], len[t]]: if [s[i] == t[i]]: continue else if [s[i] > t[i]]: return "s > t" else if [s[i] < t[i]]: return "s < t" if [len[s] == len[t]]: return "s == t" else if [len[s] > len[t]]: return "s > t" else if len[s] < len[t]: return "s < t"

Home Categories FAQ/Guidelines Terms of Service Privacy Policy

Video liên quan

Chủ Đề