程序改错题:
gc228.c 代码功能为:使用指针将数组a中10个整数按相反的顺序存放。程序中有3处错误代码,请指出并改正之.
void inv(x,n) int *x,n;
{int *p,t,*i,*j,m=(n-1)/2; i=x; j=x+n-1; p=x+m;
for(;i<=p;i++,j--) {t=*i;*i=*j;*j=t;} return; } main() {int a[10],i;
printf(\
for(i=0;i<10;i++) scanf(\
printf(\ for(i=0;i<10;i++) printf(\ printf(\ inv(a,10);
printf(\ for(i=0;i<10;i++) printf(\ printf(\ }
2.程序改错题
gc234.c中函数fun的功能是:求S的值。
设
S= ((2*2)/3) * ((4*4)/(3*5)) * ... *
( (2*k*2*k)/((2*k-1)*(2*k+1)) )
请改正函数fun中的两个错误,使程序能输出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
#include \ #include \ float fun( int k ) { int n;
float s, w, p, q; n = 1; s = 1.0; while ( n <= k ) {
w = 2.0 * n; p = w - 1.0; q = w + 1.0;
s = s * w *w/p/q; n++; }
return s; }
main ( ) { //clrscr( );
printf(\ }
1.程序填空题
tk234.c中函数fun的功能是:将a所指字符串中字符的倒序,和b所指字符串中的倒序, 按排列的顺序交叉合并到c所指数组中,过长的剩余字符接在c所指数组的尾部。
例如,当a所指字符串中的内容为\, b所指字符串中的内容为\时,则c所指数组中的内容应该为\;而当a所指字符串中的内容为\,b所指字符串中的内容为\时,则c所指数组中的内容应该为\。
请将函数fun补充完整,使它能得出正确的结果。不得增行或删行,也不得更改程序的结构!
#include
void myswap( char *s ) {
char *sp, *st, ch; sp = s;
st = s + strlen(s) - 1; while ( sp <= st )
{ ch = *sp; *sp = *st; *st = ch; sp++; st--; } }
void fun( char *a, char *b, char *c )