输入n个字符串,输出其中最小的字符串,用c语言
时间: 2024-02-19 14:59:07 浏览: 23
可以使用strcmp函数逐一比较字符串的大小,找到最小的字符串。
具体实现代码如下:
```
#include <stdio.h>
#include <string.h>
int main()
{
int n;
printf("请输入字符串的个数:");
scanf("%d", &n);
char str[100], minStr[100];
printf("请输入第1个字符串:");
scanf("%s", minStr);
for(int i = 2; i <= n; i++)
{
printf("请输入第%d个字符串:", i);
scanf("%s", str);
if(strcmp(str, minStr) < 0)
strcpy(minStr, str);
}
printf("最小的字符串是:%s\n", minStr);
return 0;
}
```
使用该代码,输入n个字符串,程序会输出其中最小的字符串。
相关问题
用c语言实现输入n个字符串,输出其中最小的字符串
好的,我可以帮你解决这个问题。
首先,你需要定义一个字符串数组来存储输入的n个字符串,然后使用循环语句依次读入这些字符串。接着,你可以使用strcmp函数来比较这些字符串的大小,找到其中最小的字符串并输出即可。
下面是一份示例代码:
```c
#include <stdio.h>
#include <string.h>
#define MAX_LEN 100
int main() {
char strings[MAX_LEN][MAX_LEN];
int n, i, min_idx;
printf("请输入字符串的个数:");
scanf("%d", &n);
// 读入n个字符串
printf("请依次输入%d个字符串:\n", n);
for (i = 0; i < n; i++) {
scanf("%s", strings[i]);
}
// 找到最小的字符串
min_idx = 0;
for (i = 1; i < n; i++) {
if (strcmp(strings[i], strings[min_idx]) < 0) {
min_idx = i;
}
}
// 输出最小的字符串
printf("最小的字符串是:%s\n", strings[min_idx]);
return 0;
}
```
希望可以帮到你!
输入n个字符串,输出其中最小的字符串。c语言
可以使用字符串数组和for循环来实现:
```c
#include <stdio.h>
#include <string.h>
int main() {
int n;
printf("请输入字符串个数:");
scanf("%d", &n);
char str[100][100];
printf("请输入字符串:\n");
for(int i=0; i<n; i++) {
scanf("%s", str[i]);
}
char min[100] = "";
strcpy(min, str[0]);
for(int i=1; i<n; i++) {
if(strcmp(str[i], min) < 0) {
strcpy(min, str[i]);
}
}
printf("最小的字符串是:%s\n", min);
return 0;
}
```
其中,使用`strcmp`函数来比较字符串大小,如果`strcmp(str[i], min)`的返回值小于0,则表示`str[i]`小于`min`,需要更新`min`为`str[i]`。