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

31: 第31题 请编写函数fun,其功能是:将s所指字符串中除了下标为偶数、同时ascii值也为偶数的字符外,其余的全都删除;串中剩余字符所形成的一个新串放在t所指的一个数组中。


答案:


void fun(char *s,char t[])


{


int I,j=0,n;


n=strlen(s);


for(i=0;I,n;i++)


if(i%2==0&&s[i]%2==0)


{


t[j]=s[i];


j++;


}


t[j]=‘\0’;


}


32: 第32题 请编写函数fun,其功能是:将s所指字符串中除了下标为奇数、同时ascii值也为奇数的字符之外,其余的所有字符都删除,串中剩余字符所形成的一个新串放在t所指的一个数组中。


答案:


void fun(char *s,char t[])


{


int I,j=0,n;


n=strlen(s);


for(i=0;I,n;i++)


if(i%2!=0&&s[i]%2!=0)


{


t[j]=s[i];


j++;


}


t[j]=‘\0’;


}


33: 第33题 假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:使字符串中尾部的*号不得多于n个;若多于n个,则删除多于的*号;若少于或等于n个,则什么也不做,字符串中间和前面的*号不删除。


答案:


void fun(char *a,int n)


{


int i=0;k=0;


char *p, *t;


p=t=a;


while (*t)


t++;中华考试


t--;


while(*t==‘*’)


{


k++;


t--;


}


t++;


if(k>n)


{


while (*p&&p<t+n)


{


a[i]=*p;


i++;


p++;


}


a[i]=‘\0’;


}


}


34: 第34题 学生的记录由学号和成绩组成,n名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能使:把分数最高的学生数据放在h所指的数组中,注意:分数最高的学生可能不止一个,函数返回分数最高的学生的人数。


答案:


int fun (STREC *a, STREC *b)


{中 华 考 试 网


int I,j=0,n=0, max;


max=a[0].s;


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


if(a[i].s>max)


max=a[i].s;


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


if(a[i].s==max)


{


*(b+j)=a[i];


j++;


n++;


}


return n;


}


35: 第35题 请编写一个函数,用来删除字符串中的所有空格。


答案:


void fun(char *str)


{


int i=0;


char *p=str;


while (*p)


{


if(*p!=‘’)


{


str[i]=*p;


i++;


}


p++;


}


str[i]=‘\0’;


}

就业数据资源平台