四、程序填充题(本大题共3小题,每小题6分,共18分)
请将下列程序横线处缺少的部分补上,使其能正确运行。
30.函数fun 用于计算数组各元素值的平方,主函数调用fun并输出各元素的值。
void fun(int num,int a[ ])
{int i;
for (i=0;i<___________;i++)a[i]=a[i]*a[i]; /*第一空*/
}
main()
{
int i,b[5]={1,2,3,4,5};
fun(5,_______); /*第二空*/
for (i=0;i<5;i++)printf(〞]〞,________); /*第三空*/
printf(〞\n〞);
}
31.从键盘输入一串字符(“#”作为结束标志),将其写入文本文件file.dat 中保存。
#include
#include
main()
{char ch;
FILE*fp;
if((fp=fopen(〞file.dat〞, 〞______〞))= =NULL) /*第一空*/
{printf(〞Can not open file\n〞);exit(0);}
ch=getchar();
while (ch!=’# ’)
{fputc(________,fp); /*第二空*/
ch=getchar();
}
fclose(________); /*第三空*/
}
32.从键盘输入x的值,根据以下公式计算并输出x和y 的值。
#include
#include
main()
{float x,y;
scanf(〞%f〞,______); /*第一空*/
if(x<0)printf(〞input error!\n〞);
else
{switch ((int)(x/2))
{case 0:y=x;_______; /*第二空*/
case 1:
case 2:y=x*x+1;break;
case 3:
case 4:y=_____________;break; /*第三空*/
default :y=1/(x*x+1);
}
printf(〞x=%7.2f,y=.6f\n〞,x,y);
}
}