就业数据资源平台
当前位置:首页 > C++语言程序设计
2012计算机二级C++上机模拟应用题及答案9

41: 第41题 请编写函数fun,该函数的功能是:将m行n列的二维数组中的字符数据,按列的顺序依次放到一个字符串中。


答案:


void fun(char (*s)[n],char *b)


{int i,j,k=0;外语学习


for(j=0;j<n;j++)


for(i=0;i<m;i++)


{b[k]=*(*(s+i)+j)


k++;}


b[k]=‘\0’;}


42: 第42题 下列程序定义了n×n的二维数组,并在主函数中自动赋值。请编写函数fun(int a[][n],int n),该函数的功能是:将数组右上半三角元素中的值乘以m。


答案:


void fun(int a[][n],int m)


{int i,j;


for(j=0;j<n;j++)


for(i=0;i<=j;i++)


a[j]=a[j]*m;}


43: 第43题 编写一个函数,从传入的num个字符串中找出一个最长的一个字符串,并通过形参指针max传回该串地址(用****作为结束输入的标志)。


答案:


char *fun(char (*a)[81],int num)


{int i;


char *max;


max=a[0];


for(i=0;i<num;i++)


if(strlen(max)<strlen(a))


max=a;


return max;}


44: 第44题 编写一个函数,该函数可以统计一个长度为2的字符串在另一个字符串中出现的次数。


答案:


int fun(char *str,char *substr)


{int n;外语学习


char *p,*r;


n=0;


while(*str)


{p=str;


r=substr;


while(*r)


if(*r==*p)


{r++;


p++;}


else


break;


if(*r==‘\0’)


n++;


str++;}


return n;}


45: 第45题 假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:只删除字符串前导和尾部的*号,串中字母之间的*号都不删除。形参n 给出了字符串的长度,形参h给出了字符串中前导*号的个数,形参e给出了字符串中最后的*个数。在编写时不得使用c语言给提供得字符串函数。


答案:


void fun(char *a,int n,int h,int e)


{int i=0;


char *p;


for(p=a+h;p<a+n-e;p++)


{*(a+i)=*p;


i++;}


*(a+i)=‘\0’;}

就业数据资源平台