1、国家二级( C语言)机试模拟试卷 249及答案与解析 一、程序填空题( 30分) 1 给定程序中,函数 fun的功能是:将形参 n所指变量中,各位上为偶数的数去除,剩余的数按原来从高位到低位的顺序组成一个新的数,并通过形参指针 n传回所指变量。 例如,输入一个数: 27638496,新的数:为 739。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的 BLANK C中。 不得增行或删行,也不得更改程序的结构 ! #include void fun(unsigned long*n) unsigned Long x=0, i; int t;
2、 i=l; while(*n) *found* t=*n 【 1】; *found* if(t 2 !=【 2】 ) x=x+t(i; i=i*10; *n=*n 10; *found* *n= 【 3】; main() unsiqned long n=一 1; while(n99999999| n int fun(int *b) int k, a1, a2, i=0; for(k=10; k void fun(char *a,int n) main() char s81; int n; void NONO (); printf(“Enter a string:n“);gets(s); pri
3、ntf(“Enter n : “);scanf(“%d“, fun(s,n); printf(“The string after deleted:n“);puts(s); NONO(); void NONO() /* 本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 */ FILE *in, *out ; int i, n ; char s81 ; in = fopen(“in.dat“,“r“); out = fopen(“out.dat“,“w“); for(i = 0 ; i n) /对统计的 “*“号数目大于给定的 “*“号总数 n while(*p /截取 n个 “*“号 i+; p+; ai=0; /对新生成的串加尾符 【试题解析】 ( 1)首先确定字符串的尾,然后判断 “*”号字符,并对字符串中的字符进行判断,如果字符是符号 “*”则对 “*”号进行统计。 ( 2)根据统计的 “*”号数目结合题目中对 “*”号个数的要求,判断是执行对 “*”号的截取操作,还是什么都不用做。 ( 3)所有字符处理完后,记得在新串 s的末尾加上结束符 “0”。