题库 题库

【简答题】

编写一个函数,从传人的M个字符中找出最长的一个字符串,并通过形参指针max传回该串地址(用****作为结束输入的标志)。
注意:部分源程序给出如下。
请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的花括号中填人所编写的若干语句。
试题程序:
#include
#include
#include
char*proc(char(*a)[81],int num)
{
}
void main()
{ 
char ss[l0][81],*max;  
int n,i=0;  
printf("输入若干个字符串:");  
gets(ss[i]);  
puts(ss[i]);  
while(!strcmp(ss[i],"****")= =0) 
{  
i++:   gets(ssEi]);   
puts(ss[i]);  
} 
n=i:  
max=proe(SS,n);  
printf("\nmax=%s\n",max);
}

参考答案

char*proc(char(*a)[81],int M)
{
char*max;
int i=0:
max=a[O]:
for(i=0;i<M;i++)
if(strlen(max)<strlen(a[i]))//找出最长的字符串
max=a[i];
return max; //返回最长字符串的地址
}

相关试题

单选题 下列关于线性链表的叙述中,正确的是(  )。 查看答案
单选题 若要定义一个具有5个元素的整型数组,以下错误的定义语句是(      )。 查看答案
单选题 软件测试的目的是(      )。 查看答案
单选题 C语言主要是借助以下哪个功能来实现程序模块化?(  ) 查看答案
单选题 有以下程序:
#include
main(  )
{int m=1,n=2,*p=&amp;m,*q=&amp;n,*r;  
r=P;P=q;q=r;  
printf("%d,%d,%d,%d\n",m,n,*P,*q);
}
程序运行后的输出结果是(  )。
查看答案
单选题 设变量P是指针变量,语句P=NULL;是给指针变量赋NULL值,它等价于(  )。 查看答案
单选题 设fp已定义,执行语句“fp=fopen("file","w");”后,以下针对文本文件file操作叙述的选项中正确的是(  )。 查看答案
单选题 下列函数的功能是(  )。
fun(char*a,char*b).{while((*b=*a)!='\0'){a++;b++;})
查看答案
单选题 有以下程序: 
#include
#define SUB(a)(a)-(a)
main(  )
{int a=2,b=3,c=5,d;  
d=SUB(a+b)*C;  
printf("%d\n",d);
}
程序运行后的输出结果是(  )。
查看答案
单选题 下列选项中属于向对象设计方法主要特征的是(  )。 查看答案
单选题 有以下程序:
#include(stdio.h)
main(  ){char a,b,C,d;  
scanf("%c%C",&a,&b);   
c=getchar(  );
d=getchar(  );  
printf{"%c%c%c%c\n",a,b,C,d);
}
当执行程序时,按下列方式输入数据(从第l列开始,代表回车j注意:回车也是 一个字符)    
12   
34
则输出结果是(  )。
查看答案
单选题 数据库系统的三级模式不包括(  )。 查看答案
单选题 有以下程序:
#include<stdio.h>
main()
{char b,C;
int i;
for(i=0;
i>6;i++){if(i%2)putchar(i+b);
else putchar(i+c);
}printf("\n");
}
程序运行后的输出结果是(  )。
查看答案
单选题 下列选项中,能正确定义数组的语句是(  )。 查看答案
单选题 下列程序的输出结果是(  )。
#include
main(  )
{ int a=0,i;
for(i=1;i<5;i++)
{ switch(i)
{ case 0:
case 3:a+=1;
case 1:
case 2:a+=2;
default:a+=3;
}
}
printf("%d",i);
}
查看答案
单选题 设有定义:“double x[10],*p=x;”,以下能给数组x下标为6的元素读人数据的正确语句是(  )。 查看答案
单选题 有以下程序
#include
void fun(char*c)
{while(*c)
{if(*c&gt;='a'&amp;&amp;*c&lt;='2')*c=*c=('a'-'A');
c++;
}
}     
main(  )
{char  s[81];
gets(s);fun(;)puts(s);
当执行程序时从键盘输入Hello Beijing<回车>,,则程序的输出结果是(  )。
查看答案
单选题 设有定义:int x=o,* P;,立刻执行以下语句,正确的语句是(  )。 查看答案
单选题 若ch为char型变量,k为int型变量(已知字符a的ASCIl码是97),则执行下列语句后输出的结果为(  )。
ch='b';
k=10:
printf("%X,%o,",ch,ch,k);     
printf("k=%%d\n",k);
查看答案
单选题 设有定义: struet  complex{int  real,unreal;)datal={1,8},data2; 则以下赋值语句中错误的是(  )。 查看答案