设为首页 加入收藏

TOP

C语言编程笔试题(第四十三套)
2014-11-24 01:20:12 来源: 作者: 【 】 浏览:6
Tags:语言编程 试题 四十三

编程题:


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


例如,若字符串中的内容为*******A*BC*DEF*G****,假设n的值为4,删除后,字符串中的内容则应当是****A*BC*DEF*G****;若n的值为8,则字符串中的内容仍为*******A*BC*DEF*G****。n的值在主函数中输入。在编写函数时,不得使用C语言提供的字符串函数。


注意:部分源程序给出如下。


请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。


#include


#include



void fun( char *a, int n )


{



}



main()


{


char s[81];


int n;


printf(“Enter a string:\n”);


gets (s);


printf(“Enter n: “);


scanf (“%d”,&n);


fun( s,n );


printf(“The string after deleted:\n”);


puts(s);


}



97.请编写函数fun,其功能是:计算并输出下列多项式值:



例如,若主函数从键盘给n输入50后,则输出为S=1.960784。


注意:n的值要求大于1但不大于100。部分源程序给出如下。


请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。


#include



double fun(int n)


{


}



main()


{


int n;


double s;


printf(“\nInput n: “);


scanf(“%d”,&n);


s=fun(n);


printf(“\n\ns=%f\n\n”,s);


}



改错题:


32.下列给定程序中,函数fun的功能是:按顺序给s所指数组中的元素赋予从2开始的偶数,然后再按顺序对每五个元素求一个平均值,并将这些值依次存放在w所指的数组中。


若s所指数组中元素的个数不是5的倍数,多余部分忽略不计。例如,s所指数组有14个元素,则只对前l0个元素进行处理,不对最后的4个元素求平均值。


请改正程序中的错误,使它能得出正确结果。


注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。


试题程序:


#include


#define SIZE 20


int fun(double *s,double *w)


{


int k,i;


double sum;


for(k=2,i=0;i

{


s[i]=k;


k+=2;


}


sum=0.0;


for(k=0,i=0;i

{


sum+=s[i];


/********found********/


if(i+1%5==0)


{


w[k]=sum/5;


sum=0;


k++;


}


}


return k;


}


main()


{


double a[SIZE],b[SIZE/5];


int i,k;


k=fun(a,b);


printf(“The original data:\n”);


for(i=0;i

{


if(i%5==0)


printf(“\n”);


printf(“%4.0f”,a[i]);


}


printf(“\n\nThe result :\n”);


for(i=0;i

printf(“%6.2f”,b[i]);


printf(“\n\n”);


}




37.下列给定程序中,函数fun的功能是:计算s所指字符串中含有t所指字符串的数目,并作为函数值返回。


请改正函数fun中的错误,使它能得出正确的结果。


注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!


试题程序:


#include


#include


#include


#define N 80


int fun(char *s, char *t)


{


int n;


char *p, *r;


n=0;


/********found********/


p=&s[0];


*r=t;


while(*p)


{


if(*r==*p)


{


r++;


if(*r==’\0′)


{


n++;


/********found********/


/*在此行填适当的语句 */


}


}


p++;


}


return n;


}


main()


{


char a[N],b[N];


int m;


clrscr();


printf(“\nPlease enter string a :”);


gets(a);


printf(“\nPlease enter substring b :”);


gets(b);


m=fun(a,b);


m=printf(“\nThe result is:m=%d\n”,m);


}


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇C语言编程笔试题(第四十二套) 下一篇C语言编程笔试题(第四十四套)

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: