国家二级C语言机试(操作题)模拟试卷630
程序填空题
1.使用VC++2010打开考生文件夹下blank1中的解决方案。此解决方案的项目中包含一个源程序文件blank1.c。在此程序中,函数fun的功能是:利用指针数组对形参ss所指字符串数组中的字符串按由长到短的顺序排序,并输出排序结果。ss所指字符串数组中共有N个字符串,且串长小于M。
请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。
注意:部分源程序在文件BLANK1.C中。
不得增行或删行,也不得更改程序的结构!
试题程序:
#include<stdio.h>
#include<string.h>
#define N5
#define M8
void fun(char(*ss)[M])
{char*ps[N],*tp;int i,j,k;
for(i=0;i<N;i++)
ps[i]=ss[i];
for(i=0;i<N-1;i++){
/*********found*********/
k=【1】;
for(j=i+1;j<N;j++)
/*********found*********/
if(strlen(ps[k])<strlen
(【2】))k=j;
/*********found*********/
tp=ps[i];ps[i]=ps[k];
ps[k]=【3】;
}
printf(\\
(1)i
(2)ps[j]
(3)tp
解析:本题是按字符串的长短进行排序。
填空1:外循环每循环一次,k应保存当前的i值,所以应填i。
填空2:使用内循环对i+1后面的字符串长度进行比较,所以应填ps[j]。
填空3:此处的作用是交换两个变量的值,所以应填tp。
程序修改题
2.使用VC++2010打开考生文件夹下modi1中的解决方案。此解决方案的项目中包含一个源程序文件modi1.c。在此程序中,函数fun的功能是:输出M×M整数方阵,然后求两条对角线上元素之和,并作为函数值返回。
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
试题程序:
#include<stdlib.h>
#include<conio.h>
#include<stdio.h>
#define M5
/*********found*********/
int fun(int n,inf xx[][])
{
int i,j,sum=0;
printf(\\
(1)int fun(int n,int xx[][M])
(2)prinff(\\
解析:(1)当用数组作为函数的形参时,可以不定义数组的行数,但一定要定义数组的列数。
(2)该处错误比较隐蔽,一般C语言上机考试很少涉及prinff函数中的错误,此处只要明白“d”和“f”的区别就可以了。格式字符d表示以带符号的十进制形式输出整数(正整数不输出符号);格式字符f表示以小数形式输出单精度、双精度数据,隐含输出6位小数。
程序设计题
3.使用VC++2010打开考生文件夹下prog1中的解决方案。此解决方案的项目中包含一个源程序文件prog1.c。在此程序中,请编写函数fun,该函数的功能是:求出二维数组周边元素之和,作为函数值返回。二维数组中的值在主函数中赋予。
例如,若二维数组中的值为:
1 3 5 7 9
2 9 9 9 4
6 9 9 9 8
1 3 5 7 0
则函数值为61。
注意:部分源程序在文件PROG1.C中。
请勿改主动函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
试题程序:
#include<conio.h>
#iticlude<stdio.h>
#include<stdlib.h>
#define M4
#define N5
int fun(int a[M][N])
{
}
void main()
{
FILE*wf;
int aa[M][N]={{1,3,5,7,9},
{2,9,9,9,4},{6,9,9,9,8},{1,3,5,7,0}};
int i,j,y;
system(\\
int fun(int a[M][N])
{
int i,j,sum=0;
for(i=0;i<M;i++)
for(j=0;j<N;j++)
if(i==0||i==M-1||j=0||j==N-1)/*只要下标中有一个为0或M-1或N-1,则它一定是周边元素*/
sum=sum+a[i][j];/*将周边元素相加*/
return sum;
}
解析:本题采用逐一判断的方式。二维数组周边元素的规律是,其两个下标值中一定有一个是0或M-1或N-1。程序中循环语句用来控制数组的行和列,条件语句用来判断数组元素是否为周边元素。
本文档预览:3600字符,共2744字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载