C语言编程>第十五周 ④ 编写一个函数,从传入的num个字符串中找出最短的一个字符串,传回该串地址(用 “*”作为结束输入的标志)。

例题:编写一个函数,从传入的num个字符串中找出最短的一个字符串,传回该串地址(用 “*”作为结束输入的标志)。

请勿改动主函数main与其它函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。

代码如下:

#include<stdio.h>
#include<string.h>
#include<conio.h>
char*fun(char(*s)[100],int num)
{
    
    
	int i;
	char*min;
	min=s[0];
	for(i=0;i<num;i++)
		if(strlen(min)>strlen(s[i]))
			min=s[i];
	return min;
}
main()
{
    
    
	char str[10][100],*min;
	int n,i=0;
	FILE*out;
	printf("input string with '*' as end:\n");
	gets(str[i]);
	puts(str[i]);
	while(!strcmp(str[i],"*")==0)
	{
    
    
		i++;
		gets(str[i]);
		puts(str[i]);
	}
	n=i;
	min=fun(str,n);
	printf("\nmin=%s\n",min);
	out=fopen("outfile.dat","w");
	strcpy(str[0],"just,");
	strcpy(str[1],"a");
	strcpy(str[2],"test");
	strcpy(str[3],"some");
	strcpy(str[4],"too?!?");
	fprintf(out,"%s",fun(str,5));
	fclose(out);
}

输出运行窗口如下:
在这里插入图片描述

越努力越幸运!
加油,奥力给!!!

猜你喜欢

转载自blog.csdn.net/qq_45385706/article/details/112061216