C语言字符串比较:找出最小的字符串

本示例使用C语言编写函数,从键盘输入多个字符串(每个串不超过6个字符且没有空格),并使用 '####' 作为结束标记。函数查找所有输入字符串中最小的那一个,并输出该字符串的下标。

代码实现:

void find(char *name[],int n,int*p)
{
    // 在包含的n个字符中的二维字符数组name中,查找值最小的字符串,将其下标存入指针p所指内存单元
    int i, min_index = 0;
    for (i = 1; i < n; i++) {
        if (strcmp(name[i], name[min_index]) < 0) {
            min_index = i;
        }
    }
    *p = min_index;
}

int main() {
    char name[100][7]; // 存储字符串的二维数组,每个字符串最多6个字符
    int n = 0, i;
    char input[7];

    // 输入字符串,直到遇到 '####' 结束
    while (1) {
        scanf("%s", input);
        if (strcmp(input, "####") == 0) {
            break;
        }
        strcpy(name[n], input);
        n++;
    }

    int min_index;
    find(name, n, &min_index);

    // 输出最小字符串
    printf("%s\n", name[min_index]);

    return 0;
}

示例输入:

abc defg hijklm opqrs tu

示例输出: abc

提示:

输入的字符串可以存储在二维字符数组中,然后逐个比较大小,找出最小的字符串。可以使用 strcmp 函数比较字符串的大小。

C语言字符串比较:找出最小的字符串

原文地址: https://www.cveoy.top/t/topic/ojK3 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录