C语言字符串比较:找出最小的字符串
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 函数比较字符串的大小。
原文地址: https://www.cveoy.top/t/topic/ojK3 著作权归作者所有。请勿转载和采集!