三级C语言

更新时间:2022-10-09 08:02:14 阅读: 评论:0

考试时间

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,b;已定义变量:cnt。

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

某考生的程序

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

#include

#define MAX 200

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

void jsVal()

{

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

for(m=0;mu003c200;m++)

{qq=a[m]/1000;

bb=a[m]%1000/100;

ss=a[m]%100/10;

gg=a[m]%10;

if(qq%2==0u0026u0026bb%2==0u0026u0026ss%2==0u0026u0026gg%2==0)

{

b[cnt]=a[m];

cnt++;

}

m++;

}

for(j=0;ju003ccnt-1;j++)

for(k=j+1;ku003ccnt;k++)

if(b[j]u003cb[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; iu003cMAX; i++)

fscanf(fp, %d,, u0026a[i]);

fclo(fp);

}

void writeDat()

{

FILE *fp;

int i;

fp = fopen(OUT.DAT, w);

fprintf(fp, %dn, cnt);

for (i=0; iu003ccnt; i++)

fprintf(fp, %dn, b[i]);

fclo(fp);

}

void main()

{

int i;

readDat();

jsVal();

printf(满足条件的数=%dn, cnt);

for (i=0; iu003ccnt; i++)

printf(%d , b[i]);

printf(n);

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;

int i, j, k, flag;

for (i=0; iu003c200; i++)

{

bb = a[i]/1000;

bb = a[i]%1000/100;

bb = a[i]%100/10;

bb = a[i]%10;

for (j=0; ju003c4; j++)

{

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

{

flag = 1;

}

el

{

flag = 0;

break;

}

}

if (flag == 1)

{

b[cnt] = a[i];

cnt++;

}

}

for (i=0; iu003ccnt-1; i++)

for (j=i+1; ju003ccnt; j++)

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

{

k = b[i];

b[i] = b[j];

b[j] = k;

}

}

本文发布于:2022-10-09 08:02:14,感谢您对本站的认可!

本文链接:http://www.wtabcd.cn/fanwen/fan/78/233796.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:三级C语言
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图