试题答案

3773考试网计算机等级考试试题答案正文

等级考试上机模拟题(二级C语言)及答案

来源:招生考试网 2005-10-9 14:24:38

说明:满分为100分,60分及格。前两题为DOS操作题,每题15分,共计30分;后两题为C语言编程题或调试题,共计70分; 测试时间60分钟。
一、DOS操作题
1 删除当前目录下的目录ZSF\DAS。 答案:RD ZSF\DAS
2 将当前目录下的目录KUY\GWE中的文件BTY.EXE改名为KJH.EXE。 答案:REN KUY\GWE\BTY.EXE KJH.EXE
二、调试修改程序题
下面程序中函数fun的功能是:根据整型形参m,计算如下公式的值:y=1+1/2!+1/3!+1/4!+...+1/m!
例如:若m=6,则应输出:1.718056。
请改正函数fun中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
#include
#include
/ *错误在fun函数中 * /
double fun(int m)
{int y=1, t=1;
int i;
for(i=2; i<=m; i++)
{t=t*1/i; y+= t; }
return(y);
}
main()
{int n;
clrscr();
printf("Enter n: ");
scanf("%d", &n);
printf("\nThe result is %1f\n", fun(n));
}
答案:对fun子程序进行修改,修改以后的程序如下:
double fun(int m)
{ double y=1, t=1; /*类型应为 double*/
int i;
for(i=2; i<=m; i++){t=t*1.0/i; y+= t; }
/* 此处应为 double 类型的数据进行运算*/
return(y);}
三、编程题
请编一个函数int fun(int pm),它的功能是:判断pm是否是素数。若pm是素数,返回1;若不是素数,返回0。pm的值由主函数从键盘读入。
请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
#include
#include
#include
int fun(int a)
{ /*答案开始 */

┇/*答案结束 */
}
main() / * 主函数* /
{ int x;clrscr();
printf("\nPlease enter a number:");
scanf("%d", &x);
printf("%d\n", fun(x));
}
答案:在函数fun中添加程序段如下:
int fun(int a)
{ /*参考答案开始 */
int i;
if(a==2)return 1;
i=2;
while ((a%i)!=0 && i<=sqrt((float) a)) i++;
if ((a%i)==0)
{ printf("%d not is a prime!",a);return 0; }
printf("%d is a prime!",a); return 1;
/*参考答案结束 */
}

触屏版 电脑版
3773考试网 琼ICP备12003406号-1