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

36: 第36题 假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:将字符串中的前导*号全部移到字符串的尾部。


答案:


void fun(char *a)


{


int i=0,n=0;自www.Examw.com


char *p;


p=a;


while (*p==‘*’)


{


n++;


p++;


}


while (*p)


{


a[i]=*p;


i++;


p++;


}


while(n!=0)


{


a[i]=‘*’;


i++;


n--;


}


a[i]=‘\0’;


}


37: 第37题 某学生的记录由学号、8门课程成绩和平均分组成,学号和8门课程的成绩已在主函数中给出。请编写函数fun,它的功能是:求出该学生的平均分放在记录的ave成员中。请自己定义正确的形参。


答案:


void fun(STREC *p)


{


double av=0.0;


int i:


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


av+=p->s[i];


av/=N;


p->ave=av;


}


38: 第38题 请编写函数fun,它的功能是:求出ss所指字符串中指定字符的个数,并返回此值。


答案:


int fun(char *ss, char c)


{


int n=0;


while (*ss)


{


if(*ss==c)


n++;中华考试


ss++;


}


return n;


}


39: 第39题 请编写函数fun,该函数的功能是:移动一维数组中的内容,若数组中由n个整数,要求把下标从0到p(p小于等于n-1)的数组元素平移到数组的最后。


答案:


void fun(int *w, int p, int n)


{


int b[N], i, j=0;


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


{


b[i]=w[i];


j++;


}


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


{


w[j]=b[i];


j++;中华考试


}


}


40: 第40题 请编写函数fun,该函数的功能是移动字符串中内容,移动的规则如下:把第1到第m个字符,平移到字符串的最后,把第m+1到最后的字符移到字符串的前部。


答案:


void fun(char *w,int m)


{


char b[N];


int I,j=0;


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


{


b[j]=w[i];


j++;


}


for (i=0;i<strlen(w)-m;i++)


w[i]=w[i+m];


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


{


w[i]=b[j];


i++;


}


w[i]=‘\0’;


}

就业数据资源平台