cuốn sách gpt4 ai đã làm

So sánh, kết hợp và xác định độ dài của chuỗi?

In lại Tác giả: Vũ trụ không gian Thời gian cập nhật: 2023-11-04 04:46:22 29 4
mua khóa gpt4 Nike

Tôi đã tự hỏi nếu có ai có thể giúp tôi với thủ tục này. Viết hàm nhận hai chuỗi. Hàm sẽ kết hợp hai chuỗi này với chuỗi đầu tiên theo từ điển. Cần có một khoảng cách giữa hai chuỗi. In chuỗi kết quả trên một dòng. In độ dài của chuỗi kết quả trên một dòng.

#include 
#include

int chính(){

char từ1[10];
char từ2[10];
chiều dài int;

// lấy các từ từ đầu vào do người dùng cung cấp
printf("Nhập từ đầu tiên. (10 chữ cái hoặc ít hơn)\n");
scanf("%s", word1);
printf("Nhập từ thứ hai. (10 chữ cái hoặc ít hơn)\n");
scanf("%s", word2);

//so sánh 2 từ đã nhập
nếu (strcmp(word1, word2)>0)
printf("%s đứng trước %s\n", word2, word1);
ngược lại nếu (strcmp(word1, word2)<0)
printf("%s đứng trước %s\n", word1, word2);
khác
printf("Cả hai từ đều giống nhau!\n");

//kết hợp hai từ
strcat(word1, " ");
strcat(word1, word2);
printf("\n%s\n", word1);

// nhìn vào độ dài của hai từ
chiều dài = strlen(word1) + strlen(word2) - 1;
printf("Độ dài của các từ là %d.\n", length);

return 0;
}

Đây là mã của tôi ở trên. Tôi quyết định in ra từ nào xuất hiện đầu tiên trong hình dung của riêng tôi. Tôi không chắc chắn về cách kết hợp các từ sao cho từ có đầu tiên về mặt từ điển sẽ xuất hiện trước và cách xác định độ dài của sự kết hợp cuối cùng của cả hai. Tôi nghĩ rằng việc thêm âm 1 khi kết hợp các từ sẽ loại bỏ tác dụng của khoảng trắng, nhưng khi tôi đặt các từ khác nhau vào chương trình, độ dài chuỗi luôn khác nhau bởi các số khác nhau. Bất kỳ trợ giúp sẽ được đánh giá rất cao, cảm ơn bạn.

câu trả lời hay nhất

Phiên bản để cấp phát bộ nhớ cho người gọi:

/** Trả về 0 nếu không đủ khoảng trống, nếu không thì độ dài của chuỗi kết quả */
int stringOrder(const char * const str1, const char * const str2, char* retBuf, int bufLen)
{
const char* đầu tiên = str1;
const char* giây = str2;
int requireLength = strlen(str1) + strlen(str2) + 2;

if (độ dài bắt buộc > bufLen)
return 0;

if(strcmp(str1, str2) == 1)
{
đầu tiên = str2;
giây = str1;
}

strcpy(retBuf, first);
strcat(retBuf, " ");
strcat(retBuf, giây);

trả về độ dài bắt buộc - 1;
}

Cách sử dụng như sau:

    #xác định ĐỘ DÀI 128
const char* str1 = "thế giới";
const char* str2 = "xin chào";

kết quả char[128] = "";

int ok = stringOrder(str1, str2, result, LENGTH);

nếu (được)
printf("%s\n", kết quả);
khác
printf("Không đủ dung lượng");

Về việc so sánh, kết hợp và xác định độ dài của chuỗi? , chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/20483052/

29 4 0
không gian vũ trụ
Hồ sơ

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá taxi Didi miễn phí
Phiếu giảm giá taxi Didi
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress