2011C语言上机预测
2011__C语言上机填空题
1 给定程序的功能是:求二分之一的圆面积,函数通过形参得到圆的半径,函数返回二分之一的圆面积(注:圆面积公式为:S r π=2,在程序中定义的变量名要与公式的变量相同)。
例如,输入圆的半径值:19.527,输出为:s=598.949991。
2 请补充main 函数,该函数的功能是:计算两个自然数n 和m(m<10000)之间所有数的和(n 和m 从键盘输入)。
例如,当n=1,m=100时,sum=5050;当n=100,m=1000时,sum=495550。
3 给定程序的功能是:判断字符ch 是否与串str 中的某个字符相同,若相同什么也不做,若不同则插在串的最后。
4 请补充函数fun,该函数的功能是:把ASCII 码为偶数的字符从字符串str 中删除,结果仍然保存在字符串str 中,字符串str 从键盘输入,其长度作为参数传入函数fun 。
例如,输入"abcdef",输出"ace"。
5 请补充函数fun,该函数的功能是:判断某一个年份是否为闰年。
例如,1900年不是闰年,2004是闰年。
6 请补充函数fun,函数fun 的功能是求n 的阶乘。
7 请补充函数fun,该函数的功能是:整除x 且是偶数的数,把这些数保存在数组bb 中,并按从大到小的顺序输出。
例如当x=20时,依次输出:20 10 4 2。
8 请补充函数fun,它的功能是:计算并输出n(包括n)以内所有能被3或7整除的自然数的倒数之和。
例如,在主函数中从键盘给n 输入30后,输出为:s=1.226323。
9 请补充main 函数,该函数的功能是:计算每个学生成绩的平均分,并把结果保存在数组bb中。
例如,当score[N][M]={{83.5,82,86,65,67},{80, 91.5 ,84,99,95},{90.5,95,86,95,97}}时,三个学生的平均分为76.7,89.9,92.7。
C语言集中上机实验报告
C语言集中上机实验报告学生:学号:班级:专业:重庆邮电大学移通学院2011年6月第一章循环1.1 实验目的(1)掌握一维数组和二维数组的定义、赋值和输入输出的方法(2)掌握字符数组和字符串函数的使用;(3)掌握与数组有关的算法。
1.2 实验基本内容1.1打印出以下图案** * ** * * * ** * * * * * ** * * * ** * **题目分析:运用数组初始化打印出图形。
程序:#include"stdio.h"void main(){char a[7][7]={{' ',' ',' ','*'},{' ',' ','*','*','*'},{' ','*','*','*','*','*'},{'*','*','*','*','*','*','*'},{' ','*','*','*','*','*'},{' ',' ','*','*','*'},{' ',' ',' ','*'}};int i,j;for(i=0;i<7;i++){for(j=0;j<7;j++)printf("%c",a[i][j]);printf("\n");}}运行结果:1.2编写程序实现输入整数n,输出如下所示由数字组成的菱形。
2011年计算机等级考试二级C语言上机题库63-67套(含答案)
1程序填空给定程序中,函数fun的功能是:有N×N矩阵,根据给定的m(m<=N)值,将每行元素中的值均右移m个位置,左边值为0。
第1处for(i=0;i<N;i++)第2处t[i][j+m]=t[i][j];第3处for(j=0;j<m;j++)2程序修改给定程序MODI1.C是函数fun的功能是:计算并输出high以内最大的10个素数之和。
high的值由主函数传给fun函数。
int fun(int high){ int sum=0,n=0,j,yes;/*******found******/while((2<=high)&&(n<10)){ yes=1;for(j=2;j<=high/2;j++)if(high%j==0){/*******found******/yes=0;break;}if(yes){sum+=high;n++;}}return sum;}3程序设计编写函数fun,它的功能是:利用以下所示的简单迭代方法求方程:cos(x)-x=0的一个实根。
xn+1=cos(xn)迭代步骤如下:1. 取x1初值为0.02. x0=x1,把x1的值赋给x03. x1=cos(x0),求出一个新的x14. 若x0-x1的绝对值小于0.000001执行步骤(5)否则执行步骤(2)5. 所求x1就是方程cos(x)-x=0的一个实根作为函数值返回。
程序将输出结果Root=0.739058。
float fun(){float x0,x1=0.0;do {x0=x1;x1=cos(x0);}while(fabs(x0-x1)>0.000001);return x1;}第64套1程序填空给定程序中,函数fun的功能是:将a所指3×5矩阵中第k 列的元素左移到第0列,第k列以后的每列元素行依次左移,原来左边的各列依次绕到右边。
第1处for(p=1;p<=k;p++)第2处for(j=0;j<N-1;j++)a[i][j]=a[i][j+1];第3处a[i][N-1]=temp;2程序修改给定程序MODI1.C是函数fun的功能是:根据形参m的值(2≤m≤9),在m行m列的二维数组中存放如下所示规律的数据,由main函数输出。
11年计算机二级C语言南开100上机编程上(笔者笔试优秀)
1: 第1题m个人的成绩存放在score数组中,请编写函数fun,它的功能是:将低于平均分的人作为函数值返回,将低于平均分的分数放在below所指定的函数中。
答案:int fun(int score[],int m,int below[]) {int i,k=0,aver=0;for(i=0;i<m;i++)aver+=score[i];aver/=m;for(i=0;i<m;i++)if(score[i]<aver){below[k]=score[i];k++;}return k;}2: 第2题请编写函数fun,它的功能是:求出1到100之内能北7或者11整除,但不能同时北7和11整除的所有证书,并将他们放在a所指的数组中,通过n返回这些数的个数。
答案:void fun(int *a, int *n){int i,j=0;for(i=2;i<1000;i++)if ((i%7==0 || i%11==0) && i%77!=0) a[j++]=i;*n=j;}3: 第3题请编写函数void fun(int x,int pp[],int *n),它的功能是:求出能整除x且不是偶数的各整数,并按从小到大的顺序放在pp所指的数组中,这些除数的个数通过形参n返回。
答案:void fun(int x, int pp[ ], int *n){int i=1,j=0;k=0,*t=pp;for(i=0;i<=x;i++)if(i%2!=0){t[j]=I;j++;}for(i=0;i<j;i++)if(x%t[i]==0){pp[k]=t[i];k++; }*n=k;}4: 第4题请编写一个函数voidfun(char *tt,int pp[]),统计在tt字符中"a"到"z"26各字母各自出现的次数,并依次放在pp所指的数组中。
答案:void fun(char *tt, int pp[]){int i;for (i=0;i<26;i++)pp[i]=0;while (*tt){switch (*tt){case ‘a’: pp[0]++;break;case ‘b’: pp[1]++;break;case ‘c’: pp[2]++;break;case ‘d’: pp[3]++;break;case ‘e’: pp[4]++;break;case ‘f’: pp[5]++;break;case ‘g’: pp[6]++;break;case ‘h’: pp[7]++;break;case ‘i’: pp[8]++;break;case ‘j’: pp[9]++;break;case ‘k’: pp[10]++;break;case ‘l’: pp[11]++;break;case ‘m’: pp[12]++;break;case ‘n’: pp[12]++;break;case ‘o’: pp[14]++;break;case ‘p’: pp[15]++;break;case ‘q’: pp[16]++;break;case ‘r’: pp[17]++;break;case ‘s’: pp[18]++;break;case ‘t’: pp[19]++;break;case ‘u’: pp[20]++;break;case ‘v’: pp[21]++;break;case ‘w’: pp[22]++;break;case ‘x’: pp[23]++;break;case ‘y’: pp[24]++;break;case ‘z’: pp[25]++;break;}tt++;}}5: 第5题请编写一个函数voidfun(int m,int k,int xx[]),该函数的功能是:将大于整数m且紧靠m的k各素数存入xx所指的数组中。
C语言实验报告
中南民族大学管理学院学生实验报告课程名称:C程序语言设计姓名:郭晋学号:10056006年级:2010专业:信息管理与信息系统指导教师:李超锋实验地点:管理学院综合实验室2010 学年至20 11 学年度第2 学期目录实验一熟悉C语言的开发环境和C程序的上机步骤实验二基本数据类型及数据的输入输出实验三运算符及表达式实验四顺序结构程序设计实验五选择结构程序设计实验六循环结构程序设计实验七数组及其应用实验八函数及其应用实验九指针及其应用实验(一)熟悉C语言的开发环境和C程序的上机步骤实验时间:2011.3.29同组人员:郭晋,金亚男实验目的:1,了解T urb C3.0编译系统,熟悉各菜单的功能,掌握在该系统上编辑,编译,连接,运行一个C程序的方法。
2,通过调试,运行简单的C程序,初步了解C语言程序的特点。
实验内容:1.编写一个C程序,求一个圆的面积。
我们的程序设计#include<stdio.h>void main(){float r,s;scanf("%f",&r);s=3.14*r*r;printf("s=%f",s);}2.编写程序求任意三个书的最大值。
我们的程序设计#include<stdio.h>void main(){int a,b,c,max;scanf("%d,%d,%d" ,&a,&b,&c);if(a>b&&a>c)max=a;if(b>a&&b>c)max=b;if(c>a&&c>b)max=c;printf("max=%d\n",max);}实验步骤:1.首先,我们两人先根据题目中的编程要求确定实验步骤,分别写下相应的编程语言进行比较,未出现明显的分歧。
2.打开Turb C 程序,然后将刚刚确定的C语言程序输入,打开Proiles,进行系统纠错,看是否出现错误或者警告,进行相应的调试。
2011全国计算机等级考试二级C语言上机诚信教育内部资料
1◆◆◆◆◆◆◆◆◆◆◆◆◆◆【填空】下列给定程序中,函数fun 的功能是计算如下公式。
直到,并且把计算结果作为函数值返回。
例如,若形参e的值为1e-3,则函数返回值为0.551690。
【答案】【1】3.0 【2】> 【3】(t+1) 【改错】下列给定程序中函数fun的功能是:求出如下分数序列的前n项之和。
和值通过函数值返回。
例如,若n=5,则应输出8.391667。
【答案】【1】double fun(int n)【2】s=s+(double)a/b;【编程】请编写函数fun,其功能是:找出2×M整型二维数组中最大元素的值,并将此值返回调用函数。
【答案】int fun (int a[ ][M]){int i,j,max=a[0][0];for(i=0;i<2;i++)for(j=0;j<M;j++)if(max<a[i][j])max=a[i][j];return max;}2◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆【填空】下列给定程序中,函数fun 的功能是:计算如下公式前n项的和并作为函数值返回。
例如,当形参n 的值为10时,函数返回值为9.612558。
【答案】【1】 0【2】 n 【3】 (t*t)【改错】下列给定程序中函数fun的功能是:统计substr所指的子符串在str所指的字符串中出现的次数。
例如,若字符串为aaas 1kaaas,子字符串为as,则应输出2。
【答案】【1】for(i=0;str[i];i++)【2】if(substr[k+1]== ′\0′) 【编程】编写函数fun,其功能是:根据以下公式求π的值(要求精度0.0005,即某项小于0.0005时停止迭代)。
程序运行后,若输入精度0.0005,则程序应输出为3.14…。
【答案】Double fun(double eps){double s=1.0,s1=1.0;int n=1;while(s1>=eps){ s1=s1]s=s+s1;n++;}return 2}3◆◆◆◆◆◆◆◆◆◆◆◆◆◆【填空】给定程序中函数fun的功能是:统计形参s所指的字符串中数字字符出现的次数,并存放在形参t所指的变量中,最后在主函数中输出。
2011-1计算机应用上机(C语言)参考答案
实验一上机操作初步(2学时)一、实验方式:一人一机二、实验目的:1、熟悉VC++语言的上机环境及上机操作过程。
2、了解如何编辑、编译、连接和运行一个C程序。
3、初步了解C程序的特点。
三、实验内容:说明:前三题为必做题目,后两题为选做题目。
1、输出入下信息:(实验指导书P79)*************************Very Good*************************2、计算两个整数的和与积。
(实验指导书P81)3、从键盘输入一个角度的弧度值x,计算该角度的余弦值,将计算结果输出到屏幕。
(书P3)4、在屏幕上显示一个文字菜单模样的图案:=================================1 输入数据2 修改数据3 查询数据4 打印数据=================================5、从键盘上输入两个整数,交换这两个整数。
四、实验步骤与过程:五、实验调试记录:六、参考答案:1、#include <stdio.h>void main( ){ printf(“********************\n”);printf(“ Very Good\n”);printf(“********************\n”);}2、#include <stdio.h>void main( ){ int a,b,c,d;printf(“Please enter a,b:”);scanf(“%d,%d”,&a,&b);c=a+b; d=a*b;printf(“%d+%d=%d\n”,a,b,c);printf(“%d*%d=%d\n”,a,b,d);}3、#include <stdio.h>#include <math.h>void main( ){ double x,s;printf(“Please input value of x:”);scanf(“%lf”,&x);s=cos(x);printf(“cos(%lf)=%lf\n”,x,s);}4、#include <stdio.h>void main( ){ printf(“==================================\n”); printf(“ 1 输入数据 2 修改数据\n”);printf(“ 3 查询数据 4 打印数据\n”);printf(“===================================\n”);}5、#include <stdio.h>void main( ){ int x,y,t;printf(“Please enter x and y:”);scanf(“%d%d”,&x,&y);t=x; x=y; y=t;printf(“After swap:x=%d,y=%d\n”,x,y);}实验二简单的C程序设计(4学时)一、实验方式:一人一机二、实验目的:1、掌握C语言的数据类型。
2011浙江省C语言二级考试上机试题及实验题库
2010浙江C语言二级考试上机试题及实验题库1.三个数比较大小。
#include <stdio.h>void swap(______1______) //int *pa,int *pb{ /*交换两个数的位置*/int temp; temp = *pa; *pa = *pb; *pb = temp; }void main(){ int a,b,c,temp;scanf("%d%d%d",&a,&b,&c);if(a>b) swap(&a,&b);if(b>c) swap(&b,&c);if(______2______) //a>bswap(&a,&b);printf("%d,%d,%d",a,b,c); }2.表达式求和。
#include <stdio.h> #include <math.h>void main(){ FILE *fp;float n=1,t=1,pi=0;int i;// 从以下开始答题i=1;while(fabs(t)>=1e-6){ pi=pi+t; i=-i; n=n+2; t=i/n; }fp=fopen("Design1.dat","w");fprintf(fp,"%.6f",4*pi);fclose(fp); }运行结果:3.1415943.字母后移循环输出。
#include <stdio.h>void main(){ char c; c=getchar();if(______1______) // c>='a' && c<'v'c=c+5;elseif (c>='v' && c<='z')______2______ // c=c-21;putchar(c); }4.求满足条件的数。
2011年全国计算机等级考试二级C语言预测试题
2011年全国计算机等级考试二级C语言预测试题试卷一一、选择题((1)~(10)每小题2分,(11)~(50)每小题1分,共60分)下列各题A)、B)、c)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分.(1)算法的空间复杂度是指________。
A)算法程序的长度B)算法程序中的指令条数c)算法程序所占的存储空间D)算法执行过程中所需要的存储空间答案:D评析:一个算法的空间复杂度,一般是指执行这个算法所需的内存空间。
一个算法所占用的存储空间包括算法程序所占的空间、输入的初始数据所占的存储空间以及算法执行过程中所需要的额外空间。
(2)下列关于栈的叙述中正确的是________。
A)在栈中只能插入数据B)在栈中只能删除数据C)栈是先进先出的线性表D)栈是先进后出的线性表答案:D评析:栈是限定在一端进行插入与删除的线性表。
栈是按照”先进后出"的或"后进先出"的原则组织数据的,因此,栈也被称为”先进后出"表或”后进先出"表。
(3)在深度为5的满二叉树中,叶子结点的个数为________。
A)32B)31C)16D)15答案:C评析:所谓满二叉树是指除最后一层外,每层上的所有结点都有两个子结点。
也就是说,在满二叉树中,每一层上的结点数都达到最大值,即在满二叉树的第K层上有2K—1个结点,且深度为m的满二叉树有2m个结点。
在满二叉树中,最后一层的结点个数就是叶子结点的个数,本题中深度为5,故叶子结点数为25-1=24 =16.(4)对建立良好的程序设计风格,下面描述正确的是________。
A)程序应简单、清晰、可读性好B)符号名的命名要符合语法c)充分考虑程序的执行效率D)程序的注释可有可无答案:A评析:要形成良好的程序设计风格,主要应注重和考虑下述一些因素:符号名的命名应具有一定的实际含义,以便于对程序功能的理解;正确的注释能够帮助读者理解程序;程序编写应优先考虑清晰性,除非对效率有特殊要求,程序编写要做到清晰第一,效率第二。
2011计算机二级考试C语言考前必看十套上机题
2011计算机二级考试C语言考前必看十套上机题(1)1.填空题请补充函数fun(),该函数的功能是:把从主函数中输入的字符串str2接在字符串str1的后面。
例如:str1=“How do”,str2=“ you do?”,结果输出:How do you do?注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的横线上填入所编写的若干表达式或语句。
试题程序:#include#include#define N 40void fun(char *str1,char *str2){int i=0;char *p1=str1;char *p2=str2;while(【1】)i++;for( ;【2】;i++)*(p1+i)=【3】;*(p1+i)='\0';}main(){char str1[N],str2[N];clrscr();printf("*****Input the string str1 &str2*****\n");printf(" \nstr1:");gets(str1);printf(" \nstr2:");gets(str2);printf("**The string str1 & str2**\n");puts(str1);puts(str2);fun(str1,str2);printf("*****The new string *****\n");puts(str1);}答案及评析:【1】*(p1+i) 【2】*p2 【3】*p2++【解析】填空1:变量i用来记录字符串str1的长度,当指针指到字符串str1结束标志符‘\0'时,while循环结束,变量i停止累加。
填空2:指针p2指向字符串str2,通过for循环将字符串str2接在str1后面,循环结束的条件是指针p2所指的字符是字符串结束标志符‘\0'。
2011年计算机等考二级C语言上机题库(100)完整题目+答案
一、填空题:函数fun的功能是:把形参a所指数组中的最大值放在a[0]中,接着求出a 所指数组中的最小值放在a[1]中;再把a所指数组元素中的次大值放在a[2]中,把 a数组元素中的次小值放在a[3]中;其余以此类推。
例如:若a所指数组中的数据最初排列为:1、4、2、3、9、6、5、8、7,则按规则移动后,数据排列为: 9、1、8、2、7、3、6、4、5。
形参n中存放a所指数组中数据的个数。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下BLANK1.C中。
不得增行或删行,也不得更改程序的结构!给定源程序:#include#define N 9/**********found**********/void fun(int ___1___, int n){int i, j, max, min, px, pn, t;/**********found**********/for (i=0; i {max = min = a[i];px = pn = i;/**********found**********/for (j=___3___; j< p>{if (max < a[j]){max = a[j]; px = j;}if (min > a[j]){min = a[j]; pn = j;}}if (px != i){t = a[i]; a[i] = max; a[px] = t;if (pn == i) pn= px;}if (pn != i+1){t = a[i+1]; a[i+1] = min; a[pn] = t;}}}main(){int b[N]={1,4,2,3,9,6,5,8,7}, i;printf("\nThe original data :\n");for (i=0; i< ?, printf(?%4d>fun(b, N);printf("\nThe data after moving :\n");for (i=0; i< ?, printf(?%4d>}解题答案:/第一空/void fun(int *a, int n)/第二空*/for (i=0; i /第三空/for (j=i+1; j< p>******************************************二、改错题:给定程序MODI1.C中函数fun的功能是:按顺序给s所指数组中的元素赋予从2 开始的偶数,然后再按顺序对每五个元素求一个平均值,并将这些值依次存放在w所指的数组中。
2011年计算机等级考试二级C语言上机题库(含答案)
认识实习报告9月初,我们先前往了山东威海滨田印刷机械有限公司进行认识实习。
此后我们又去了一家大型零件加工厂进行了参观。
通过这次的实习,我们了解到机械行业第一线的一些具体情况,了解了工业生产实施的具体过程,同时也对一些工厂的技术实施,管理方法有了一定的认识。
前往滨田印刷机械有限公司以后,我们在指导老师和工程师的带领下,分批开始了对该厂的参观。
这一切对我们而言陌生有新鲜。
开始,我们在一位严谨的工程师的带领下,去了零件加工厂了解了各类零件的加工。
其中参观了各种自动化得机床,我们还从一部分机床中看到了上学期我们金工实习那些机床的影子。
但给我最大的感触是整个车间里,国产的机床并不是很多。
整个过程纪律严明,一边参观零件的加工,一边聆听了工程师给予我们的讲解了解了整个工厂的第一道程序。
此后,我们前往了三间组装车间,参观了52系列,66系列和47系列三种印刷机的组装。
这次给我们介绍的是一位年轻的工程师,他详细的向我们介绍了这三种印刷机的一些知识。
我们也了解了刚知道这几个型号产生的疑惑,原来,47,52和66的意思是最大用纸尺寸的长。
其中47系列是单色印刷机,可用于印号码,打孔线和树脂凸版印刷。
使用的集中供油系统可以有效的防止因局部遗忘加油造成的零件磨损,延长零件的精度和使用寿命,杜绝润滑油浪费,保护环境卫生。
52系列性能较高,大都是以高级胶印机所具有的高耐久性、高精度的部件为基础,生产的高性能印刷机。
同时也是可适合文字、线条印刷,实地印刷等各种印刷需要。
另外通过添加多种备选装置,使机器升级到更高效率的印刷机。
到66系列时,工程师大哥向我们介绍的较为详细,它分为两款:WEIHAI HAMADA66-NP 实现精美平版印刷及号码印刷的高品质重型印刷机和WEIHAI HAMADA66 真正高品质的重型印刷机。
WEIHAI HAMADA66系列是以真正高质量印刷为目标而生产的大四开重型胶印机。
这款先进的机械拥有按扭式与触摸式键盘,所需操作全部集中在3处操作盘上。
2014计算机二级《C语言》上机考试预测题1
一、选择题(每小题2分)第1题:一个C语言程序是由()构成。
A.语句B.行号C.数据D.函数【正确答案】:D第2题:下面标识符中正确的是()。
A.d&efB.6aC.z4x5cD.a3/b4【正确答案】:C第3题:在C语言中,存储一个字符型、整型、单精度实型变量所需的空间是()。
型、单精度实型变量所需的空间是()。
A.1、2、4B.1、1、4C.1、2、8D.2、2、8【正确答案】:A第4题:为了避免嵌套的条件分支语句 if--else中的else总是与() 组成成对关系。
A. 缩排位置相同的B. 在其之前未配对的C. 在其之前未配对的最近的ifD. 在同一行上的if【正确答案】:C第5题:下列表达式的结果正确的是()。
int aa,bb,cc,dd;aa=bb=cc=dd=1;sp; aa=bb=cc=dd=1;sp; aa=bb=cc=dd=1;(aa+1==2)?bb=aa+2:aa+3A.2B.3C. 1D.5【正确答案】:B第6题:设有int x=11 ;则表达式(x+1/3)的值是()。
A.3B. 4C. 11D.12【正确答案】:C第7题:设有字符串A=“He has 钱!”,则该字符串的长度为()。
A. 9B. 10C. 11D. 8【正确答案】:B第8题:有如下程序段,则正确的执行结果是()int m=3;while(m<=5){ printf(“%d ”,m-3); m++;}A. 0 0 0B.0 1 2C.1 2 3D.无结果【正确答案】:B第9题:执行语句:printf("%d",(a=2)&&(b= -2);后,输出结果是()。
A.无输出B.结果不确定C.-1D. 1【正确答案】:D第10题:有如下定义类型语句,若从键盘输入数据,正确的输入语句是()。
int x; char y; char z[20];A. scanf("%d%c%c",&x,&y,&z);B. scanf("%d%c%s",&x,&y,&z);C. scanf("%d%c%c",&x,&y,z);D. scanf("%d%c%s",&x,&y,z);【正确答案】:D第11题:struct ex{ int x ; float y; char z ;} example;则下面的叙述中不正确的是()。
2011年计算机二级C语言上机题库及答案
2011年计算机二级C语言上机题库及答案(一部分)一、填空题:给定程序中,函数fun的功能是:对形参s所指字符串中下标为奇数的字符按ASCII码大小递增排序,并将排序后下标为奇数的字符取出,存入形参p所指字符数组中,形成一个新串。
例如,形参s所指的字符串为:baawrskjghzlicda,执行后p所指字符数组中的字符串应为:aachjlsw。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹的BLANK1.C中。
不得增行或删行,也不得更改程序的结构!给定源程序:#includevoid fun(char *s, char *p){int i, j, n, x, t;n=0;for(i=0; s[i]!='\0'; i++) n++;for(i=1; i< i="i+2)">/**********found**********/___1___;/**********found**********/for(j=___2___+2 ; jif(s[t]>s[j]) t=j;if(t!=i){x=s[i]; s[i]=s[t]; s[t]=x;}}for(i=1,j=0; i/**********found**********/p[j]=___3___;}main(){char s[80]="baawrskjghzlicda", p[50];printf("\nThe original string is : %s\n",s);fun(s,p);printf("\nThe result is : %s\n",p);}解题答案:/**********第一空**********/t=i;/**********第二空**********/for(j=i+2; j/**********第三空**********/p[j]=0;******************************************二、改错题:给定程序MODI1.C中函数fun 的功能是:用下面的公式求π的近似值,直到最后一项的绝对值小于指定的数(参数num )为止:π 1 1 1┄┄≈1 - ┄┄+ ┄┄- ┄┄+ ...4 35 7例如, 程序运行后, 输入0.0001, 则程序输出3.1414。
★2011年10月16日江苏省高校计算机等级考试C语言上机题及其参考答案_张柏雄
【对2011年10月16日江苏省高校计算机等级考试C语言上机题的评价:】经过对C01和C02两套上机题的分析和考生现场考试状态观察,本次上机考试的难度与2011春相比有所下降,具体分析总结如下:1、改错题难度下降幅度较大;2、从考生上机完成的情况来看,C01试卷难度低于C02:C01考场,凡是经过江苏省高校计算机C上机题多次模拟练习者都提前完成了上机考试;C02考场,大多数对完成上机题感到有一定难度:对于改错题,由于命题违背了“不能增加其它语句,也不能删去整条语句”的命题规定,学生按照规定,调不出正确答案(见后分析);对于编程题,考生如果参考了网上“★预测计算机等级考试的C语言上机编程题(矩阵)_张柏雄.doc”一文,C02编程题采用比较简易的、占用内存较多的方法,就很快做出来了(见下面C02题解和说明);3、与2011年秋全国计算机C语言的上机题(网上“★2011年9月17日全国计算机等级考试C语言十道上机题及其解析_张柏雄.doc”)相比,难度差不多,但如果不熟悉全国计算机C语言的上机题命题思路,则感觉全国更难;同样,在高校“C语言程序”课中不对江苏省高校计算机考试C的上机题进行多次模拟练习,则对江苏省题也是一筹莫展,难以取得理想的成绩。
【注意事项】C语言两套原始素材,“★2011秋江苏省高校计算机C语言模拟考试环境的两套上机题汇总.rar”,存储在“”网站上,可点击“点击这里查看该用户更多公开文件...”,读者可免费上网下载其中文件进行模拟考试环境练习(进入“练习”模式,帐户名及密码均为“***********”)。
【评者简介】苏州科技学院天平学院老师张柏雄(*****************)。
QQ:1035986156【C01原始题目】江苏省高等学校非计算机专业学生计算机基础知识和应用能力等级考试上机试卷(2011秋)二级C语言(试卷代号C01)(本试卷完成时间70分钟)一、改错题(16分)【程序功能】验证猜想:当f为41,x分别取1、2、3、4、…、40时,由多项式x2-x+f产生的数均为素数。
2011年春江苏省计算机二级考试c语言上机试题
2011年春江苏省计算机二级考试c语言上机试题2011年(春季)江苏省计算机二级考试C语言上机部分试卷上机试卷(01)一、改错题(16分)【程序功能】对存储在string数组内的英文句子中所有以a开始并以e结尾的单词做加密处理。
加密规则:若单词长度为偶数个字符,则将组成该单词的所有字母循环左移一次;否则循环右移一次。
例如,单词able经循环左移一次后变为blea;单词abide经循环右移一次后变为eabid。
【测试数据与运行结果】测试数据:she is able to abide her.屏幕输出:she is blea to eabid her.【含有错误的源程序】#include <stdio.h>#include <ctype.h>void wordchange(char str[]){ int i,j,k,m;char c;for(i=0;str[i];i++){for(j=i,k=i;isalpha(str[k]);k++);if(str[j]=='a' || &&str[k-1]=='e'){if((k-j)%2=0)=={c=str[j];for(m=k-1;m>j;m--)str[m]=str[m+1];str[k-1]=c;}else{c=str[k-1];for(m=k-1;m>j;m--)str[m]=sty[m-1];str[j]=c;}}i=k;} 。
}void main(){ char string[80]="she is able to abide her.";wordchange(string[80]);(string)puts(string);}【要求】1.将上述程序录入到文件myf1.c中,根据题目要求及程序中语句之间的逻辑关系对程序中的错误进行修改。
2.改错时,可以修改语句中的一部分内容,调整语句次序,增加少量的变量说明或编译预处理命令,但不能增加其他语句,也不能删去整条语句。
2011年9月份春季全国二级C语言上机题库
第一套1.程序填空程序通过定义学生结构体数组,存储了若干个学生的学号、姓名和三门课的成绩。
函数fun的功能是将存放学生数据的结构体数组,按照姓名的字典序(从小到大排序)。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
第一处struct student t;第二处for(i=0;i<n-1;i++) 第三处if(strcmp(a[i].na me,a[j].name)>0) 2程序修改给定程序MODI1.C中函数fun的功能是:在p所指字符串中找出ASCII码值最大的字符,将其放在第一个位置上;并将该字符前的原字符向上顺序移动。
/**found**/q=p+i;/**found**/ while(q>p)3程序设计学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写了函数fun,它的功能是:把指定分数范围内的学生数据放在b所指的数组中,分数范围内的学生人数由函数值返回。
int fun(STREC*a,STREC *b,intl,int h){int i,j=0;for(i=0;i<N;i++)if((a[i].s>=1&&a[i].s<=h)b[j++]=a[i];return j;}第二套1.程序填空给定程序中已建立一个带有头结点的单向链表,链表中的各结点按数据域递增有序连接。
函数fun的功能是:删除链表中数据域值相同的结点,使之只保留一个。
第一处free(q);第二处q=p->next;第三处q=q->next;2. 程序修改给定程序MODI1.C中函数fun的功能是:用选择法对数组中的n各元素按从小到大的顺序进行排序。
/**found**/p=j;/**found**/p=i;3. 程序设计请编写一个fun函数,它的功能是:求出1到m之间(含m)能被7或11整除的所有整数放在数组a中,通过n返回这些数的个数。
2011年计算机二级C语言99套上机操作题及答案
.第1套填空题请补充FUN函数,FUN函数的功能是求10的阶乘。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在fun函数的横线上填入所编写的若干表达式或语句。
试题程序:#include <stdio.h>long fun(int n){if (___1___)return (n*fun(___2___));return ___3___;}main(){p rintf("10!=%ld\n", fun(10));}第1处填空:n>1或1<n第2处填空:n-1第3处填空:1或11或1L改错题下列给定程序的功能是:读入一个整数K(2〈=K〈=10000),打印它的所有因子(即所有为素数的因子)。
例如,若输入整数2310,则应输出:2、3、5、7、11。
请改正程序中的错误,使程序能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!试题程序:#include <conio.h>#include <stdio.h>/********found********/IsPrime(int n);{int i, m;m = 1;/********found********/for (i=2; i<n; i++)if !(n%i){m = 0;break;}return(m);}main(){int j, k;printf("\nplease enter an integer number between 2 and 10000:");scanf("%d", &k);printf("\n\nThe prime factor(s) of %d is(are):", k);for (j=2; j<k; j++)if ((!(k%j)) && (IsPrime(j)))printf(" %4d,", j);printf("\n");}第1处:Isprime(int n);应改为Isprime(int n)第2处:if !(n%i)应该为if(!(n%i))编程题M个人的成绩存放在score数组中,请编写函数fun,它的功能是:返回低于平均分的认输,并将低于平均分的分数放在below所指的数组中。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、程序填空题给定程序中,函数fun的功能是将不带头节点的单向链表结点数据域中的数据从小到大排序,即若原链表结点数据域从头到尾的数据为:10,4,2,8,6,排序后链表结点数据域从头到尾的数据为:2,4,6,8,10。
填空:(1)p->next (2)q (3)p->next改错:(1)while(*s!='\0') (2)s++; 编程:int b[N],i,j=0;for(i=p+1;i<n;i++){b[j]=w[i];j++;}for(i=0;i<=p;i++){b[j]=w[i];j++;}for(i=0;i<n;i++) w[i]=b[i];二、程序填空题程序通过定义学生结构体变量,存储了学生的学号、姓名和3门课的成绩。
所有学生数据均以二进制方式输出到文件中。
函数fun的功能是从形参filename所指的文件中读入学生数据,并按照学号从小到大排序后,再用二进制方式把排序后的学生数据输出到filename所指的文件中,覆盖原来的文件内容。
填空:(1)"rb" (2)> (3)fwrite改错:(1)p=s; (2) ; (缺分号)编程:int i;for(i=0;j<M;i++) b[i]=0;for(i=0;i<N;i++)if(a[i]>=100)b[10]++;else b[a[i]/10]++;三、程序填空题给定程序中,函数fun的功能是将带头节点的单向链表结点数据域中的数据从小到大排序,即若原链表结点数据从头至尾的数据为:10,4,2,8,6,排序后链表结点数据域从头至尾的数据为:2,4,6,8,10。
填空:(1)h->next (2)p->next (3)>=改错:(1)p=h->next; (2)p=p->next;编程:int i,j;for(i=0;i<mm;i++)for(j=0;j<nn;j++){b[*n]=*(*(s+i)+j);*n=*n+1;}四、程序填空题给定程序中,函数fun的功能是:找出形参s所指字符串出现频率最高的字母(不区分大小写),并统计出其出现的次数,例如,形参s所指的字符串为:abcAbsmaxiess,程序执行后的输出结果为:letter 'a':3 timesletter 's':3 times填空:(1)*s (2)1 (3)k[n]改错:(1) double fun(int k) (2); (缺分号)编程:double s=0.0;int i;for(i=1;i<=n;i++)s=s+1.0/(i*(i+1));return s;五、程序填空题给定程序中,函数fun的功能是:在3*4的矩阵中代出在行上最大、在列上最小的那个元素,若没有符合条件的元素则输出相应信息。
例如:有下列矩阵1 2 13 47 8 10 63 5 9 7程序执行的结果为:find:a[2][2]=9填空:(1)j (2)0 (3)i++改错:(1)for(i=2;i<=m;i++) (2)y-=1.0/(i*i);编程:float av=0.0;int i,j=0;for(i=0;i<m;i++)av+=score[i];av/=m;for(i=0;i<m;i++)if(av>score[i])below[j++]=score[i]; return j; 六、程序填空题给定程序中,函数fun的功能是:将形参n中,各位上为偶数的数取出,并按原位从高位到低位的顺序组成一个新的数,并作为函数值返回。
例如,从主函数输入一个整数:27638496,函数返回值为:26845.填空:(1)1 (2)s (3)i*10改错:(1)int fun(int n,int xx[][M])(2)printf("%d",xx[i][j]);编程:*c=(a/10)*1000+(b%10)*100+(a%10)*10+(b/10);七、程序填空题给定程序中已经建立一个带有头结点的单向链表,链表中的各结点数据域中的数据递增有序链接,函数fun的功能是:把形参x的值放入一个新结点并插入到链表中,插入后各结点数据域的值仍保持递增有序。
填空:(1)x (2)p (3)s改错:(1)long k=1; (2)num/=10;编程:int i;float aver=0.0;for(i=0;i<n;i++)aver+=a[i];aver=aver/n;return aver;八、程序填空题给定程序中,函数fun的功能是:讲自然数1~10以及它们的平方根写到名为myfile3.txt的文本中,然后再按顺序读出显示在屏幕上。
填空:(1)fp(2)fclose(fp)(3)myfile3.txt改错:(1)for(i=j+1;i<n;i++) (2)p=i;编程:*c=(b%10)*1000+(a%10)*100+(b/10)*10+a/10;九、程序填空题给定程序中,函数fun的功能是:把形参s所指字符串中最右边的n个字符复制到形参t所指字符数组中,形成一个新串。
若s所指字符串的长度小于n,则将整个字符串复制到形参t所指字符数组中。
例如,形参s所指的字符串味:abcdefgh,n的值为5,程序执行后t所指字符串数组中的字符串为:defgh.填空:(1)t,s(2)s[i](3)0改错:(1)if (i%k==0)(2)if(k>=i)编程:int i=0;*n=0;for (i=1;i<=x;i++)if((x%i==0)&&(i%2))pp[(*n)++]=i;十、程序填空题给定程序中,函数fun的功能是:将a所指3*5矩阵中第k列的元素左移到第0列,第k列以后的每列元素依次左移,原来左边的各列依次绕道右边。
例如,有以下矩阵:1 2 3 4 51 2 3 4 51 2 3 4 5若结果为,程序执行结果为:3 4 5 1 23 4 5 1 23 4 5 1 2填空:(1)k (2)N-1 (3)temp改错:(1)void fun(int a[][M],int m)(2)a[j][k]=(k+1)*(j+1);编程:*c=(a%10)*1000+(b%10)*100+(a/10)*10+b/10;十一、程序填空题给定程序中,函数fun的功能是计算下式s=1/(2*2)+3/(4*4)+5/(6*6)+....(2n-1)/(2n*2n)直到|(2n-1)/(2n*2n)|<=10e-3,并把计算结果作为函数值返回。
例如,若形参e的值为1e-3,函数的返回值2.985678.填空:(1)0(2)i++(3)2.0*i改错:(1)void fun (char *s,char *t)(2)t[2*d]='\0';编程:int i,j=o;for(i=1;i<strlen(s);i+=2)if (i%2==0&&s[i]%2)t[j++]=s[i];t[j]='\0';十二、程序填空题给定程序中,函数fun的功能是:将N*N矩阵中元素的值按列右移1个位置,右边被移出矩阵的元素绕回左边。
例如,N=3,有下列矩阵1 2 34 5 67 8 9计算结果为3 1 26 4 59 7 8填空:(1)N (2)N-1 (3)0改错:(1)s=s+(n+1.0)/n; (2)returnt;编程:int f0=0,f1=1,f;do{f=f0+f1;f0=f1;f1=f;}while(f<t);return f;十三、程序填空题给定程序中,函数fun的功能是:求ss所指字符串数组中长度最短的字符串所在的行下标,作为函数数值返回,并把其串长放在形参n所指变量中。
Ss所指字符串数组中共有M个字符串,且串长<N.填空:(1)M (2)< (3)k改错:(1)if(('a'<=tt[i])&&(tt[i]<='z'))(2)tt[i]-=32;编程:int i,j;int t=0;for(i=2;i<m;i++){j=2;while(j<i){if(i%j==0){xx[t]=i;t++;break;}j++;}*k=t;十四、程序填空题给定的程序中,函数fun的功能是:把形参s所指字符串中下标为奇数的字符右移到下一个奇数的位置,最右边被移出的字符串的字符绕回放到第一个奇数位置,下标为偶数的字符不动(注:字符串的长度大于等于2)例如:形参s所指字符串为:abcdefgh,执行结果为:ahcbedgf填空:(1) 1 (2) s[k] (3) c改错:(1) long s = 0,t = 0; (2) t = t/ 10;编程:char *p=tt;int i;for(i=0;i<26;i++)pp[i]=0;while(*p){if(*p>='a' &&p<='z')pp[*p-'a']+=1;p++;}十五、程序填空题给定程序中,函数fun的功能是:将s所指字符串中的所有数字字符移到所有非数字字符之后,并保持数字字符串和非数字字符串原有的先后次序。
例如:形参s所指的字符串为:def35adh3kjsdf7。
执行结果为:defadhkjsdf3537填空:(1) j++ (2) s[i]=t1[i] (3) j改错:(1) for(j = i + 1; j < 6; j++)(2) *(pstr + i) =*( pstr + j);编程:int cnt=0;char *p=ss;while(*p){if(*p==c)cnt++;p++;}return cnt;十六、程序填空题给定程序中,函数fun的功能是:统计出带有头结点的单向链表中节点的个数,存放在形参n所指的存储单元中。
填空:(1) *n (2) next (3) head改错:(1) a=NULL; (2) if(*r==*p)编程:int i,j=0;for(i=0;i<strlen(s);i+=2)if(s[i]%2==0) t[j++]=s[i];t[j]='\0';十七、程序填空题给定程序中建立一个带有头结点的单向链表,链表中的各节点按数据域递增有序链接。
函数fun的功能是:删除链表中数据域值相同的节点,使之只保留一个。