【上机题命题评述】2012年10月14日C01套编程试题是求三位数的水仙花数及其反序数分别存入数组a和b。为本作者于2011年6月15日在豆丁网上发布的“★预测江苏省计算机C语言等级考试的八道上机编程题_张柏雄.doc”,阅者可参考该文。
2012年10月14日C02套编程试题是求反素数,比较简单。
网上对反素数定义为:
定义之一:对于任何正整数x,其约数的个数记做g(x).例如g(1)=1,g(6)=4.如果某个正整数x满足:对于任意i(0
定义之二就认为是绝对素数。例如 17和71等
江苏省高等学校非计算机专业学生
计算机基础知识和应用能力等级考试上机试卷(2012秋)
二级 C语言(试卷代号
C02)
(本试卷完成时间 70分钟)
一、改错题(16分)
【程序功能】
string数组内存放了若干个字符串,以下程序从中找出最长的字符串(如果有多个长度相同且为最长的字符串,则约定第一个为最长的字符串),并在该字符串中的每个数字字符前插入一个空格。
例如,如果string数组中的字符串为“A1B23CD45”、“EF2G34”、“ER45DF678”、“985GHJ211FGH”,则最长的字符串为“985GHJ211FGH”,插入空格后该字符串变为“ 9 8 5G HJ 2 1 1FGH”。
函数maxstr的功能是在存放于ss数组中的m个字符串中查找最长的字符串,函数返回最长字符串所在的数组行的行下标。
函数insert的功能是在str数组中所存放的字符串内每个数字字符前插入一个空格。
【测试数据与运行结果】
测试数据:“A1B23CD45”、“EF2G34”、“ER45DF678”、“985GHJ211FGH”
屏幕输出:The maxstring: 985GHJ211FGH
The changestring: 9 8 5G HJ 2 1 1FGH
【含有错误的源程序】
以下源程序已保存在T盘myf1.c文件内,考生可直接打开该文件测试程序。
#include
#include
#include
#include
#define M 4
#define N 80
int maxstr(char (*ss)[N],int m);
{ int i,len,maxlen,n;
maxlen=strlen(ss[0]);
n=0;
for(i=0;i
{ len=strlen(ss[i]);
if(len>maxlen)
{ maxlen=len;
n=i;