首页 > 全部 > 二级C语言 > 国家二级C语言程序设计机试(程序设计题)模拟试卷4

国家二级C语言程序设计机试(程序设计题)模拟试卷4

本单篇文档共4929字,内容预览3600字,预览为有答案版,源文件无水印,下载后包含无答案空白卷版和有答案版,同时也有计算机类NCRE全国计算机二级整科真题模拟题,讲义课件,思维导图,易错高频题等下载。
二级C语言 章节练习 7907人下载
价格: 1.00 原价:¥9.60
收藏

国家二级C语言程序设计机试(程序设计题)模拟试卷4

程序设计题

1.请编写函数fun,该函数的功能是:将M行N列的二维数组中的字符数据,按列的顺序依次放到一个字符串中。

例如,若二维数组中的数据为

W W W W

S S S S

H H H H

则字符串中的内容应是:WSHWSHWSH.WSH。

注意:请勿改动main函数和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。

试题程序:

#include

#define M 3

#define N 4

void fun(char(*s)[N],char*b)

{

}

void main()

{

FILE*wf;

char a[100],W[M][N]={{‘w’,‘w’,

‘w’,‘w’},{‘S’,‘S’,‘S’,‘S’},

{‘H’,‘H’,‘H’,‘H’}};

int i,j;

prinff(“The matrix:\n”);

for(i=0;i<M;i++)

{

for(j=0;j<N;j++)

pfinff(“%3c”,w[i][j]);

printf(“\n”);

}

fun(w,a);

prinff(“The A string:\n”);

puts(a);

prinff(“\n”);

/******************/

wf=fopen(“out.dat”,“w”);

fprintf(wf,“%s”,a);

fclose(wf);

/******************/

}

void fun(char(*s)[N],char*b)

{

int i,j,k=0;

for(i=0;i<N;i++) /*按列的顺序依次放到一个字符串中*/

for(j=0;j<M;j++)

b[k++]=s[j][i];

b[k]=’\0’;

}

解析:看到程序后,很容易便能想到用循环嵌套的方法,本题中按列的顺序依次放到一个字符串中,所以列标变化慢,行标变化快。

注意:第1个循环条件为i<N(即列),第2个循环条件为j<M(即行),因为在循环的嵌套中,越在内层,循环变化就越快。

2.已知学生的记录由学号和学习成绩构成,N名学生的数据已存入a结构体数组中。请编写函数fun,该函数的功能是:找出成绩最高的学生记录,通过形参返回主函数(规定只有一个最高分)。已给出函数的首部,请完成该函数。

注意:请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。

试题程序:

#include

#include

#include

#include

#define N 10

typedef struet ss/*定义结构体*/

{

char num[10];

int s;

}STU;

fun(STU a[],STU*s)

{

}

void main()

{

FILE*wf:

STU a[N]={{ttA01”,81},{“A02”,89},

{“A03”,66},{“A04”,87},{“A05”,77},

{“A06”,90},{“A07”,79},{“A08”,61},

{“A09”,80},{“A10”,71}},m;

int i;

system(“CLS”);

printff“*****The original data*****”);

for(i=0;i<N;i++)

pritf(“No=%s Mark=%d/n,a[i].num,a[i].s);

fun(a,&m);

prinffr“*****THE RESULT*****\n”);

printf(“The top:%s,%d\n”,m.num,m.s);

/***************/

wf=fopen(“out.dat”,“w”);

fprintf(wf,“%s,%d”,m.num,m.s);

fclose(wf);

/**************/

}

fun(STU a[],STU*s)

{

int i:

*s=a[0];

for(i=0;i<N;i++) /*找出成绩最高的学生记录*/

if(s一>s<a[i].s)

*s=a[i];

}

解析:本题考查:成绩最高的学生记录查找;for循环语句;if条件语句。

本题的流程是先使s指向第1名学生,利用循环语句遍历所有学生的成绩,利用条件语句判断当前学生成绩是否最高,所以if语句的条件是s一>ss”等价于“(*s).s”。

3.请编写函数fun,其功能是:判断形参n中的正整数是几位数(输入数据的位数不超过4位),并将结果通过函数值返回。例如,若输入的数据为123,则输出结果为:输入的数字是3位。

注意:请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。

试题程序:

#inelude

void NONO();

int fun(int n)

{

}

main()

{

int n,place;

do

{

printf(“请输入—个4位以内的正整数:”);

scanf(“%d”,&n);

}

while(n9999);

place=fun(n);

printf(“输入的数字是%d位\n”,place);

NONO();

}

void NONO()

/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。*/

{

FILE*fp,*wf;

int i,n,place;

fp=fopen(“in.dat”,“r”);

wf=fopen(“out.dat”,“w”);

for(i=0;i<10;i++)

{

fscanf(fp,“%d”,&n);

place=fun(n);

fprintf(wf,“%d\n”

本文档预览:3600字符,共4929字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载

剩余未完,查看全文
收藏
国家二级C语言程序设计机试(程序设计题)模拟试卷4

推荐资源

客服

扫码添加客服微信

热线

官方客服

如遇问题,请联系客服为您解决

电话客服:

客服微信:pujinet

工作时间:9:00-18:00,节假日休息

公众号

扫码关注微信公众号