请输入您要查询的百科知识:

 

词条 三级C语言程序设计
释义

三级C语言程序设计是为了适应现代社会对计算机人才的需要,在大多数大学普及的一门计算机编程初级课程。三级C语言程序设计是C语言的入门课,为学生了解编程,在编程上不断深入打下基础。三级C语言程序设计每年有一次考试,每个学校按国家标准独立设立考场,考试分笔试和机试两部分,考试通过者发三级C语言计算机证书。

三级C语言简介

三级C语言程序设计是全国计算机等级考试(NCRE)三级网络技术,数据库技术,信息管理技术上机考试考核内容。一般每次考试题库由100道C语言程序设计题组成(俗称“南开百题”)。上机考试时每个考生从百题题库中随机抽选一题,在规定的时间内完成其程序设计要求。

考试时间

2009年上半年考试时间定于3月28日至4月1日,下半年为9月19日至23日。一般上午考笔试,上机考试从笔试的当天下午开始,有时是第二天上午。具体见考试通知或考生准考证。

上机考试时间为60分钟。

上机环境

Visual C++6.0

题型分类

求取给定范围的多个素数

数位分解后按数位数字筛选统计并排序

以待定字母分割字符串并重组

按结构体成员进行多关键字排序

字符串排序

数据相邻数筛选统计并排序

字符替换

字符串搜索

以递推关系求数列值

用迭代法求方程的根

对给定范围内的数进行筛选并统计

判断回文数

数值筛选与统计

数位分解并重组后再筛选统计并排序

计算方差

选票问题

SIX与NINE问题

特殊排序

出圈问题

结构体筛选并排序

字符串循环位移

例题参考

题目

已知数据文件IN.DAT存有200个四位数,并以调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:如果四位数 各位上的数字均是0或2或4或6或8,则统计出满足此条件的个数cnt,并把这些四位数按从大到小的顺序存入数组b中。最后main()函数调用写函数writeDat()把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT中。

注意:部分程序已给出。

程序中已定义数组a[200],b[200];已定义变量:cnt。

请勿改动数据文件IN.DAT中的任何数据及主函数main()、读函数readDat和写函数writeDat()的内容。

某考生的程序

(因为此处没有数据文件IN.DAT,所以读者拷贝该程序,编译能通过,但执行不起来)

#include <stdio.h>

#define MAX 200

int a[MAX], b[MAX], cnt = 0;

void jsVal()

{

int m,j,k,gg,ss,bb,qq,data;

for(m=0;m<200;m++)

{qq=a[m]/1000;

bb=a[m]%1000/100;

ss=a[m]%100/10;

gg=a[m]%10;

if(qq%2==0&&bb%2==0&&ss%2==0&&gg%2==0)

{

b[cnt]=a[m];

cnt++;

}

m++;

}

for(j=0;j<cnt-1;j++)

for(k=j+1;k<cnt;k++)

if(b[j]<b[k])

{

data=b[k];

b[k]=b[j];

b[j]=data;

}

}

void readDat()

{

int i;

FILE *fp;

fp = fopen("IN.DAT", "r");

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

fscanf(fp, "%d,", &a[i]);

fclose(fp);

}

void writeDat()

{

FILE *fp;

int i;

fp = fopen("OUT.DAT", "w");

fprintf(fp, "%d\", cnt);

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

fprintf(fp, "%d\", b[i]);

fclose(fp);

}

void main()

{

int i;

readDat();

jsVal();

printf("满足条件的数=%d\", cnt);

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

printf("%d ", b[i]);

printf("\");

writeDat();

}

以上运行的结果是

满足条件的数=4

6662 4602 2668 2264

正确答案应该如下

满足条件的数=6

6662 6604 4602 2842 2668 2664

评分参考

(一般采用评分软件评分)

本题共100分。

可执行文件 已生成

输出文件 存在

第1行数据应为:6 结果不正确;

第2行数据应为:6662 结果正确;

第3行数据应为:6604 结果不正确;

第4行数据应为:4602 结果不正确;

第5行数据应为:2842 结果不正确;

第6行数据应为:2668 结果不正确;

第7行数据应为:2264 结果不正确;

本题共应输出7行数据,1行结果正确,得14分。

如果所编程序编译不成功,或者可执行文件未生成,直接判0分。因此在上机考试成绩中,0分和100分的分布比例比较大。

参考程序

void jsVal()

{

int bb[4];

int i, j, k, flag;

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

{

bb[0] = a[i]/1000;

bb[1] = a[i]%1000/100;

bb[2] = a[i]%100/10;

bb[3] = a[i]%10;

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

{

if (bb[j]%2 == 0)

{

flag = 1;

}

else

{

flag = 0;

break;

}

}

if (flag == 1)

{

b[cnt] = a[i];

cnt++;

}

}

for (i=0; i<cnt-1; i++)

for (j=i+1; j<cnt; j++)

if (b[i] < b[j])

{

k = b[i];

b[i] = b[j];

b[j] = k;

}

}

随便看

 

百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。

 

Copyright © 2004-2023 Cnenc.net All Rights Reserved
更新时间:2025/2/5 10:39:15