ZZULIOJ1139(C语言实现)

在这里插入图片描述解题思路:我的思路是先将字符串存入到一个二维数组中,存入之后对这个字符串的长度进行遍历,如果有比前一个短的字符串,记录下标位置。最后以字符串形式输出,看源代码就清晰了。
源代码:
int main()
{
int n = 0;
scanf_s(“%d”, &n);//输入字符串的个数
char arr[1001][1001] = { 0 };

int i = 0;
int min = 99999;
int k = 0;
getchar();//这里要把输入n之后的空格给吸收了,不然gets会将它看做一次输入
for (i = 0; i < n; i++)//i来控制输入几行字符串
{
	gets_s(arr[i]);//输入字符串
	int j = 0;//用arr[i][j]来遍历输入的字符串的长度
	int count = 0;//count记录字符串的长度
	
	while (arr[i][j])
	{
		
		count++;
			j++;

		}
	if (count < min)//如果有比count小的字符串,将count赋值给min,并且记录下标i
	{
		min = count;
		k = i;
	}
	

}

printf("%s", arr[k]);//此时k中存放的就是最短的字符串


return 0;
}

猜你喜欢

转载自blog.csdn.net/Kirihara_Yukiho/article/details/124141138