国家二级C语言机试(操作题)模拟试卷639
程序填空题
1.使用VC++2010打开考生文件夹下blank1中的解决方案。此解决方案的项目中包含一个源程序文件blank1.c。在此程序中,函数fun的功能是:统计形参S所指的字符串中数字字符出现的次数,并存放在形参t所指的变量中,最后在主函数中输出。
例如,若形参s所指的字符串为“abcdef35adgh3kjsdf7”,则输出结果为4。
请在程序的下画线处填入正确内容并将下画线删除,使程序得出正确的结果。
注意:部分源程序给出如下。
不得增行或删行,也不得更改程序的结构!
试题程序:
#include<stdio.h>
void fun(char*s,int*t)
{int i,n;
n=0;
/*********found*********/
for(i=0;【1】!=0;i++)
/*********found*********/
if(s[i]>=’0’&&s[i]<=【2】)
n++;
/*********found*********/
【3】;
}
main()
{char s[80]=\\
(1)s[i]
(2)’9’
(3)*t=n
解析:填空1:通过for循环语句来判断是否到字符型结尾,变量i用来存放字符型数组下标,则应填入s[i]。
填空2:题目要求判断数字字符,所以此处应填入‘9’。
填空3:将数字字符个数存入变量t中,此处需注意变量t是指针变量。
程序修改题
2.使用VC++2010打开考生文件夹下modi1中的解决方案。此解决方案的项目中包含一个源程序文件modi1.c。在此程序中,函数fun的功能是:判断一个整数是否为素数,若是素数返回1,否则返回0。
在main函数中,若fun返回1输出YES,若fun返回0输出NO!。
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
试题程序:
#include<stallib.h>
#include<conio.h>
#include<stdio.h>
int fun(int m)
{
int k=2;
while(k<=m&&(m%k))
/*********found*********/
k++
/*********found*********/
if(m=k)
return1;
else return0;
}
void main()
{
int n;
system(\\
(1)k++;
(2)if(m==k)
解析:函数fun的功能是判断m是否为素数:m从2开始作为除数,并对m取余,若不存在一个数使得余数为0,则m为素数,程序的错误在于if(m=k)语句中的逻辑表达式写成了赋值语句。
程序设计题
3.使用VC++2010打开考生文件夹下prog1中的解决方案。此解决方案的项目中包含一个源程序文件prog1.c。在此程序中,请编写函数fun,其功能是:计算并输出下列多项式的值。
double fun(int n)
{
int i;
double s=0.0;
for(i=1;i<=n;i++)
s=s+1.0/(i*(i+1));/*求级数的和*/
return s;
}
解析:本题要求级数的和,由多项式的形式可知,应使用循环语句实现,循环的通项为1/n(n+1)。本程序首先定义了和变量及循环变量,然后运用一个for语句求出级数的和,最后将和变量s返回。
本文档预览:3600字符,共2114字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载