国家二级(C语言)机试模拟试卷956
程序填空题
1.使用VC++2010打开考生文件夹下blank1中的解决方案。此解决方案的项目中包含一个源程序文件blank1.c。在此程序中,函数fun的功能是: 从键盘输入一行字符,统计其中的数字、小写字母、大写字母的个数,并通过参数传回主函数。
请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。
注意:部分源程序在文件blank1.c中。
不得增行或删行,也不得更改程序的结构!
#include
#include
#pragma warning (disable:4996)
void fun(int *cd, int *cu, int *cs )
{ char c;
printf(\\
(1)c<=’9’
(2)c>=’A’
(3)c<=’z’
解析:
程序修改题
2.使用VC++2010打开考生文件夹下modi1中的解决方案。此解决方案的项目中包含一个源程序文件modi1.c。在此程序中,调用fun函数求出所有满足条件的三位数,存放到形参n所指的数组中,并返回这些数的个数。
这些三位数等于它各个位上数字的立方和。例如: 153=1^3+5^3+3^3。
请改正程序中的错误,使它能得出正确的结果。
注意:部分源程序在文件modi1.c中。
不要改动main函数,不得增行或删行,也不得更改程序的结构!
#include
#pragma warning (disable:4996)
int cube(int n) { return n*n*n; }
int fun( int *n)
{ int a,b,c,i,k=0;
for (i=100; i<1000; i++)
{
/*****************found*****************/
a = i % 100;
b = i / 10 % 10;
c = i % 10;
/*****************found*****************/
if(cube(a)+cube(b)+cube(c) = i)
{ n[k]=i; \\t k++;}
}
/*****************found*****************/
return k-1 ;
}
main( )
{
int n[100],k,i;
k=fun(n);
for(i=0;i<k;i++)printf(\\
(1)a=i/100;
(2)if(cube(a)+cube(b)+cube(c)= =i)
(3) reutrn k;
解析:
程序设计题
3.使VC++2010打开考生文件夹下prog1中的解决方案。此解决方案的项目中包含一个源程序文件prog1.c。请编写函数fun,其功能是:分别求一个双精度数的整数部分和小数部分,并通过指针返回。
例如:程序输入的数为: 5104.7583,则输出的整数部分是: 5104, 小数部分是: 0.758300。
注意:部分源程序在文件prog1.c中。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
#include
void fun( double aa, int *x, double *y )
{
}
main( )
{ void NONO( );
double aa, b; int a;
printf(\\
void fun( double aa,int *x, double *y )
{
*x = (int)aa;
*y= aa-*x;
}
解析:使用强制转换,将double类型a转换成int类型,系统自动省略浮点数的小数部分,得到整数部分赋给x所指的存储空间,然后用aa减去整数部分,就可以得到aa的小数部分。
本文档预览:3600字符,共2274字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载