三级C语言程序设计是为了适应现代社会对计算机人才的需要,是在大多数大学普及的一门计来自算机编程初级课程。三级C语言程序设计是C语言的入门课,为学生了解编程,在编程上不断深入打下基础。三级C语言程序设计每年有一次考试,每个学校按国家标准独立设立考场,考试分笔试绿和机试两部分,考试通过者发三级360百科C语言计算机证书。
三级C语言程序设计是全国计算机等级考试(NC乙即新专意RE)三级网络技术,数据库技术报矿风哥,信息管理技术上机考试考核内容。一般每次考试题库由100道C语言程序设计题组成(俗称"南开百题")。上机考试时每个考来自生从百题题库中随机抽选一题,在规定的时间内完成其程序设计要求。
2009年上半年考试时间定于3月28日至4月1日,下半年为9月19日至23日。一般上午考笔试,上机考试从笔试的当天下午开始,有时是第二天上午。具体见考试通证开族度斯额少围挥批知或考生准考证。
上机考试时间为60分钟。
Visual C++来自6.0
求取给定范围的多个素数
数位分解后按数位数字筛矿茶管上法季选统计并排序
以待沉脱通限且石哪慢袁力速定字母分割字符串并重组
按结构体成员进行多关360百科键字排序
字符串排序
数据相邻数筛选统计并排序
字符替换
字符见基固别串搜索
以递推关系求数列值
用迭代法求方程的根
对给定范围内的数进效指否衡点行筛选并统计
判断回文数
数值筛选与统计
数位分解并重组后再筛选统计并排序
计算方差
选票问题
SIX与NINE问题
特殊排序
出圈问题
结构体筛选并排序
字符串循环位移
示酒 已知数据文件击每永鲜国江回历IN.DAT存有200个四位数,并以调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:如果四位数 各位上的数字均是0或2或4或6或8,则统计出满足此周承呢办几规念担粒条件的个数cnt,并把这些亚养具四位数按从大到小的顺序存入数组b中。最后main()函数调用写函数writeDat()把结果cnt以及数组b中符合条件的四位数输查出到OUT.DAT中。
注还表只般显尽孙儿哪意:部分程序已给出。
程序中已定义数组a[200],b[20磁较量压端府运0];已定义变量:cnt。
请勿改动数课味北民阶置联据文件IN.DAT中的任何数据及主函数main()、读函数readDat和写函数writeDat()的内容。
(因为此处没有数据文件IN.DAT,所以读者拷贝该程序,编译能通过,但执行不起来)
#incl跑木ude <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\n", cnt);
for (i=0; i<cnt; i++)
fprintf(fp, "%d\n", b[i]);
fclose(fp);
}
void main()
{
int i;
readDat();
jsVal();
printf("满足条件的数=%d\n", cnt);
for (i=0; i<cnt; 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[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;
}
}