国家二级(C语言)机试模拟试卷851
程序填空题
1.使用VC++2010打开考生文件夹下blank1中的解决方案。此解决方案的项目中包含一个源程序文件blank1.c。在此程序中,函数fun( )的功能是判定形参a所指的N×N(规定Ⅳ为奇数)的矩阵是否是\\
(1)0(2)||(3)1
解析:填空1:本题考查为变量赋初值,在这里row+=a[i][j]代表每行的总和,colum+=a[j][i]代表每列的总和,因而now、colum在初始化时应该为0,此空1处应该填0。
填空2:本题考查if条件语句,此句判断每行的总和与每列的总和是否相等,每行的总和与对角线的总和是否相等,两者若有一个不成立,则返回0,故空2处应该填||。
填空3:题目要求若矩阵是\\
程序修改题
2.使用VC++2010打开考生文件夹下modi1中的解决方案。此解决方案的项目中包含一个源程序文件modi1.c。在此程序中,函数fun( )的功能是传入一个整数m,计算如下公式的值。t=1/2-1/3-…-1/m
例如,若输入5,则应输出-0.283333。
请改正程序中的错误,使它能得出正确的结果。
注意:部分源程序在文件modi1.c中,不要改动main( )函数,不得增行或删行,也不得更改程序的结构!
试题程序:
#include
#include
#include
double fun(int m)
{
double t=1.0;
int i;
for(i=2;i<=m;i++)
/*********found*********/
t=1.0-1/i;
/*********found*********/
}
}
void main( )
{int m;
system(\\
(1)t-=1.0/i;(2)return t;
解析:(1)变量t存放公式的和,通过循环语句进行复合运算,因此此处应改为t-=1.0/i;,注意此处应进行变量的类型转换。(2)循环结束后应将和值返回给主函数。
程序设计题
3.使用VC++2010打开考生文件夹下prog1中的解决方案。此解决方案的项目中包含一个源程序文件prog1.c。在此程序中,请编写一个函数,用来删除字符串中的所有空格。
例如,输入asd af aa z67,则输出为asdafaaz67。
注意:部分源程序在文件prog1.c中。
请勿改动主函数main( )和其他函数中的任何内容,仅在函数fun( )的花括号中填入你编写的若干语句。
试题程序:
#include
#include
#include
#include
void fun(char * str)
{
}
main( )
{
Char str[81];
char Msg[]=\\
void fun(char*str)
{
int i=0;
char *p=str;
while(*p)
{
if(*p!=’’)/*删除空格*/
{
str[i++]=*p;
}
p++;
}
str[i]=’\0’;/*加上结束符*/
}
解析:本题要求删除所有空格,即保留除了空格以外的其他所有字符。由于C语言中没有直接删除字符的操作,因此对不需要删除的字符采用\\
本文档预览:3600字符,共2002字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载