计算机二级一道c语言程序设计题,求解啊求解啊,明天就要考试了

程序是对的,但我不知道运行的时候该怎么输,大神帮个忙吧这是题:编写一个函数,其功能是,从传入的num个字符中找出最长的一个字符串,并通过形参指针max传回该串地址(用****作为结束输入的标识)#include<conio.h>#include<stdio.h>#include<string.h>#include<stdlib.h>char *fun(char (*a)[81], int num, char *max){int i=0;max=a[0];for(i=0;i<num;i++) /*找出最长的一个字符串*/if(strlen(max)<strlen(a[i])) max=a[i];return max; /*传回最长字符串的地址*/}void main(){FILE *wf;char ss[10][81],*ps=NULL;char s[3][81]={"abcd","deg","diegns"},*p=NULL;int i=0,n;system("CLS");printf("输入若干个字符串:");gets(ss[i]);puts(ss[i]);while(!strcmp(ss[i], "****")==0) /*用4个星号作为结束输入的标志*/{i++;gets(ss[i]);puts(ss[i]);}n=i;ps=fun(ss,n,ps);printf("\nmax=%s\n",ps);/******************************/wf=fopen("out.dat","w");p=fun(s,3,p);fprintf(wf,"%s",p);fclose(wf);/*****************************/}
8 分钟前

随意输入,比如123↙jdfksla↙8490231-↙(↙表示回车)等都可以。你这个代码在输入时不能用空格作为字符串间的分隔符,因为gets函数会把空格当字符处理,所以你就是输入一百个字符串它也只当一个处理。只要记住用回车隔开就OK了。举例如下:
123↙
jfksdla;↙
12jkl849959-2fjksla;j;;;;↙
.............↙
****↙
这样就OK了……
温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答