有n个字符串,找到最短的字符串并输出,测试数据有多组,第一行的正整数T表示测试数据的组数。每组的第一行给出 一个正整数n(n≤10),表示该组测试数据中字符串的个数,后跟n行,每行一个一个字符串(不超过100个字符,可能包含空格)对于每组测试数据,输出最短的字符串,每组单独占一行。若有多个字符串都最短,则输出最后一个最短的。c语言程序
时间: 2024-03-14 19:43:24 浏览: 74
c++-c++编程基础之leetcode题解第8题字符串转换整数.zip
下面是一个简单的 C 语言程序,实现了题目要求的功能:
```c
#include <stdio.h>
#include <string.h>
int main() {
int T;
scanf("%d", &T);
while (T--) {
int n;
scanf("%d", &n);
char shortest[101] = "";
while (n--) {
char str[101];
scanf("%s", str);
if (strlen(shortest) == 0 || strlen(str) < strlen(shortest)) {
strcpy(shortest, str);
}
}
printf("%s\n", shortest);
}
return 0;
}
```
程序首先读入测试数据的组数 `T`,然后进入一个循环,每次处理一组测试数据。对于每组测试数据,程序先读入字符串的个数 `n`,然后再进入一个循环,读入每个字符串,同时更新最短的字符串。最后输出最短的字符串即可。
注意,为了方便处理,程序中使用了一个空字符串 `shortest` 来表示当前最短的字符串。在每次读入新的字符串时,如果该字符串比当前最短的字符串更短,则将其复制到 `shortest` 中。
阅读全文