BUPT2012 C编程大作业
2012年3月计算机二级C语言考试上机题编程部分整理汇总
1. 编程题将两个两位数的正整数a、b合并形成一个整数放在c中。
将a数的十位和个位数依次放在c数个位和十位上,b 数的十位和个位数依次放在c数的百位和千位上。
*c=(b%10)*1000+(b/10)*100+( a%10)*10+(a/10)*12. 编程题请编一个函数void fun(int tt[M][N], int pp[N]), tt指向一个M行N列的二维数组,求出二维数组每列中最大元素,并依次放入pp所指的一维数组中。
二维数组中的数已在主函数中给出。
int i,j,max;for(j=0;j<N;j++){max=tt[0][j];for(i=0;i<M;i++)if(tt[i][j]>max)max=tt[i][j];pp[j]=max;3. 编程题请编写函数fun(),对长度为7个字符的字符串,除首、尾字符外,将其余5个字符按ASCII值码升序排列。
编写完程序,运行程序后输入:字符串为Bdsihad,则排序后输出为应为Badhisd。
int fun(char *s, int num){char t;int i, j;for(i=1;i<num-2;i++)for(j=i+1;j<num-1;j++)if(s[i]>s[j] ; { t=s[i];s[i]=s[j]; s[j]=t;4. 编程题编写函数fun(),它的功能是求n以内(不包括n)同时能被5与11整除的所有自然数之和的平方根s,并作为函数值返回。
double s=0.0;int i;for(i=0; i<n;i++) if(i%5==0&&i%11==0)s=s+i;s=sqrt(s);return s;5. 编程题请编写函数fun(),它的功能是求Fibonacci数列中小于t的最大的一个数,结果由函数返回。
其中Fibonacci数列F(n)的定义为F(0)=0,F(1)=1F(n)=F(n-1)+F(n-2)int a=1,b=1,c=0,i;do{ c=a+b;a=b;b=c; }while (c<t); c=a;return c;6. 编程题请编写一个函数fun(),它的功能是计算并输出给定整数n的所有因子(不包括1与自身)的平方和(规定n的值不大于100)。
2012年3月C语言上机真题及答案
2012年3月C语言上机真题说明:本题库是根据教育部考试中心制定修改计划进行修改后的计算机等级考试二级C 语言机试题库。
对于题库的解答来自考试中心的答题系统。
※※※※※※※※※※※※※※※※※※※※※※※※※第01套:给定程序中,函数fun的功能是:将形参n 所指变量中,个位上为偶数的数去除,剩余的数按原来从高位到低位的顺序组成一个新的数,并通过形参指针n传回所指变量。
例如,输入一个数:27638496,新的数:为739。
请在程序的下划线处填入正确的内容并把下划线删除, 使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。
不得增行或删行,也不得更改程序的结构!给定源程序:#include <stdio.h>void fun(unsigned long *n){ unsigned long x=0, i; int t;i=1;while(*n)/**********found**********/{ t=*n % __1__;/**********found**********/if(t%2!= __2__){ x=x+t*i; i=i*10; }*n =*n /10;}/**********found**********/*n=__3__;}main(){ unsigned long n=-1;while(n>99999999||n<0){ printf("Please input(0<n<100000000): "); scanf("%ld",&n); }fun(&n); printf("\nThe result is: %ld\n",n);}解题思路:第一处:t是通过取模的方式来得到*n的个位数字,所以应填:10。
第二处:判断是否是奇数,所以应填:0。
第三处:最后通形参n来返回新数x,所以应填:x。
2012年3月全国计算机等级考试《二级VisualBasic语言程序设计》真题及答案
2012年3月全国计算机等级考试《二级VisualBasic语言程序设计》真题及答案2012年3月全国计算机等级考试二级笔试试卷Visual Basic 语言程序设计(考试时间90分钟,满分100分)一、选择题(每小题2分,共70分)下列各题A )、B )、C )、D )四个选项中,只有一个选项是正确的。
请将正确选项填涂在答题卡相应位置上,答在试卷上不得分。
(1)下列叙述中正确的是A )循环队列是队列的一种链式存储结构B )循环队列是队列的一种顺序存储结构C )循环队列是非线性结构D )循环队列是一种逻辑结构(2)下列叙述中正确的是A )栈是一种先进先出的线性表B )队列是一种后进先出的线性表C )栈与队列都是非线性结构D )以上三种说法都不对(3)一棵二叉树共有25个结点,其中5个是叶子结点,则度为1的结点数为A )16B )10C )6D )4(4)在下列模式中,能够给出数据库物理存储结构与物理存取方法的是A )外模式B )内模式C )概念模式D )逻辑模式(5)在满足实体完整性约束的条件下A )一个关系中应该有一个或多个候选关键字B )一个关系中只能有一个候选关键字C )一个关系中必须有多个候选关键字D )一个关系中可以没有候选关键字(6)有三个关系R 、S 和T 如下:R ST 则由关系R 和S 得到关系T 的操作是A )自然连接B )并C )交D )差(7)软件生命周期中的活动不包括A )市场调研B )需求分析C )软件测试D )软件维护(8)下面不属于需求分析阶段任务的是A )确定软件系统的功能需求B )确定软件系统的性能需求C )需求规格说明书评审 A B Ca 1 2b 2 1c 3 1 A B C a 1 2d 2 1 A B C b 2 1 c 3 1整理:陈远跃D)制定软件集成测试计划(9)在黑盒测试方法中,设计测试用例的主要根据是A)程序内部逻辑B)程序外部功能C)程序数据结构D)程序流程图(10)在软件设计中不适用的工具是A)系统结构图B)PAD图C)数据流图(DFD图)D)程序流程图(11)以下合法的VB变量名是D)x*y A)case B)name10 C)t-name(12)设x是小于10的非负数。
NOIP2012初赛普及组C 题目及答案
第十八届全国青少年信息学奥林匹克联赛初赛(普及组C++语言试题)竞赛时间:2012年10月13日14:30~16:30选手注意:●试题纸共有10页,答题纸共有2页,满分100分。
请在答题纸上作答,写在试题纸上一律无效。
●不得使用任何电子设备(如计算器、手机、电子词典等)或查阅任何书籍资料一、单项选择题(共20题,每题1.5分,共计30分;每题且仅有一个正确选项)1.计算机如果缺少(),将无法正常启动。
A.内存B.鼠标C.U盘D.摄像头2.()是一种先进先出的线性表。
A.栈B.队列C.哈希表(散列表)D.二叉树3.目前计算机芯片(集成电路)制造的主要原料是(),它是一种可以在沙子中提炼出的物质。
A.硅B.铜C.锗D.铝4.十六进制数9A在()进制下是232。
A.四B.八C.十D.十二5.()不属于操作系统。
A.Windows B.DOS C.Photoshop D.NOI Linux6.如果一棵二叉树的中序遍历是BAC,那么它的先序遍历不可能是()。
A.ABC B.CBA C.ACB D.BAC7.目前个人电脑的()市场占有率最靠前的厂商包括Intel、AMD等公司。
A.显示器B.CPU C.内存D.鼠标8.使用冒泡排序对序列进行升序排列,每执行一次交换操作系统将会减少1个逆序对,因此序列5,4,3,2,1需要执行()次操作,才能完成冒泡排序。
A.0 B.5 C.10 D.159.1946年诞生于美国宾夕法尼亚大学的ENIAC属于()计算机。
A.电子管B.晶体管C.集成电路D.超大规模集成电路10.无论是TCP/IP模型还是OSI模型,都可以视为网络的分层模型,每个网络协议都会被归入某一层中。
如果用现实生活中的例子来比喻这些“层”,以下最恰当的是()。
A.中国公司的经理与波兰公司的经理交互商业文件B.军队发布命令C.国际会议中,每个人都与他国地位对等的人直接进行会谈D.体育比赛中,每一级比赛的优胜者晋级上一级比赛11.矢量图(Vector Image)图形文件所占的贮存空间比较小,并且无论如何放大、缩小或旋转等都不会失真,是因为它()。
北京理工大学网络教室C语言编程题库及答案(绝对经典)
1.Hello world.之阳早格格创做输进:无输出:Hello world.步调:#include<stdio.h>int main(){printf("Hello world.\n");return 0;}2.Welcome to Beijing.步调:#include <stdio.h>int main(){printf("Welcome\n");printf("to\n");printf("Beijing.\n");return 0;}3. 供A+B输进:整数1 整数2输出:整数1+整数2=战步调:#include<stdio.h>int main(){int a,b;scanf("%d",&a);scanf("%d",&b);printf("%d+%d=%d\n",a,b,a+b);return 0;}4. 供 x 的 3次圆输进:一个整数.输出:该整数的 3 次圆值.步调:#include<stdio.h>int main(){int x;scanf("%d",&x);printf("%d\n",x*x*x);return 0;}5. 教习挨印您的第一个图形编写一个小步调,央供输出的是 4 止由*号组成的等腰三角形.步调:#include<stdio.h>int main(){printf(" *\n");printf(" ***\n");printf(" *****\n");printf("*******\n");return 0;}6. 一年级的算术题输进:交受二个整数,每个整数之间使用空格分开.比圆输进圆法为:123 444输出:分别输出依照整型数据举止 +、-、*、/、* 之后的运止截止.步调:#include<stdio.h>int main(){int a,b;scanf("%d %d",&a,&b);printf("%d+%d=%d\n",a,b,a+b);printf("%d-%d=%d\n",a,b,a-b);printf("%d*%d=%d\n",a,b,a*b);printf("%d/%d=%d\n",a,b,a/b);printf("%d%%%d=%d\n",a,b,a%b);return 0;}7. 供二个变量的最小值输进:二个整型数输出:二个整型值中的最小值步调:#include<stdio.h>int main(){int a,b;scanf("%d%d",&a,&b);printf("min=%d\n",a<b?a:b);return 0;}8. 推断三角形的形状输进:三角型的3条边的少度(int型).输出:等边三角形:equilateral triangle等腰三角形:isoceles triangle没有形成三角形:non-triangle普遍三角形:triangle步调:#include<stdio.h>int main(){int a,b,c;scanf("%d%d%d",&a,&b,&c);if(a+b>c&&a+c>b&&b+c>a){if (a==b&&b==c&&a==c)printf("equilateral triangle.\n");else if(a==b||a==c||b==c)printf("isoceles triangle.\n");elseprintf("triangle.\n");}elseprintf("non-triangle.\n");return 0;}9. 估计圆柱的正里积及体积输进:第一止输进圆柱的底里半径r 第二止输进圆柱的下 h输出:s=< 圆柱的正里积 >,v=< 圆柱的体积 >央供1. 所有变量皆定义为单粗度典型2. 截止透彻到小数面后二位步调:#include<stdio.h>int main(){double r,h,s,v;scanf("%lf",&r);scanf("%lf",&h);s=2*PI*r*h;v=PI*r*r*h;printf("s=%.2f,v=%.2f\n",s,v);return 0;}10. 估计时钟的夹角背景:钟里上的时针战分针之间的夹角经常正在 0 ~180之间 ( 包罗 0 战180 ) .举例去道,正在十二面的时间二针之间的夹角为 0 ,而正在六面的时间夹角为180 ,正在三面的时间为90 .原题要办理的是估计12:00 到 11:59 之间任性一个时间的夹角.输进:每组尝试数据包罗二个数字:第一个数字代表小时 ( 大于 0 小于等于 12) ,第二个数字代表分 ( 正在区间 [0, 59] 上 ) .输出:对于应每组尝试数据,用时常使用圆法隐现时间以及那个时间时针战分针间的最小夹角,透彻到小数面后一位.输出圆法如下所示.步调:#include<stdio.h>#include<math.h>int main(){int h,m;float d1,d2,d;scanf("%d%d",&h,&m);d1=30*(h+m/60.0);d2=m*360/60.0;d=fabs(d1-d2);if(d>180)d=360-d;printf("At %d:%d the angle is %.1f degrees.\n",h,m,d);return 0;}11. 找出最大素数素数是指一个只可被1战它自己整除的数,正在数论中占有要害的钻研职位,正在当代暗号教中也被广大应用.输进:与值范畴输出:该范畴内的最大素数步调:#include<stdio.h>int main(){int n,i,j;scanf("%d",&n);for(i=n;i>=1;i--){ for(j=2;j<i;j++)if(i%j==0)break;if(j==i){printf("The max prime number is %d.\n",i);break;}}}12. 供末尾3位数值输进:a 战 n 的值.假设 a<=150 .输出:供 a 的 n 次圆的末尾 3 位数.步调:#include<stdio.h>int main(){long int s=1;int a,n,i=1,t=1;scanf("%d%d",&a,&n);if(n==0)printf("The last 3 numbers is 1.\n");else{for(i=1;i<=n;i++){s=(s*a)%1000;}t=s%1000;if(t>=0&&t<10) printf("The last 3 numbers is 00%d.\n",t);if(t>=10&&t<100) printf("The last 3 numbers is 0%d.\n",t);if(t>=100&&t<1000) printf("The last 3 numbers is %d.\n",t);}return 0;}13. 贪吃的猴子有一只猴子,第一天戴了若搞个桃子,当即吃了一半,但是还感触没有过瘾,便又多吃了一个.第2天早上又将剩下的桃子吃掉一半,仍旧感触没有过瘾,便又多吃了二个.以去每天早上皆吃了前一天剩下的一半加天数个(比圆,第5天吃了前一天剩下的普遍加5个).到第n 天早上再念吃的时间,便只剩下一个桃子了.输进:天数n输出:第一天的桃子个数步调:#include<stdio.h>int main(){int i,n,amount=1;scanf("%d",&n);for(i=n-1;i>=1;i--)amount=2*(amount+i);printf("The monkey got %d peachs in first day.\n",amount);}14. 乌色星期五正在西圆,星期五战数字13皆代表着坏幸运,二个没有幸的个体末尾分离成超等没有幸的一天.所以,没有管哪个月的十三日又恰遇星期五便喊“乌色星期五”.输进:年份输出:推断该年是可包罗乌色星期五,如包罗,给出简直日期步调:#include<stdio.h>int main(){int i,n=0,year,month[12]={0};int a[13]={0,13,44,73,104,134,165,195,226,257,287,318,348};int b[13]={0,13,44,72,103,133,164,194,225,256,286,317,347};scanf("%d",&year);for(i=1;i<13;i++){if ((year%4==0 && year%100!=0)||year%400==0){if((year-1+((year-1)/4)-((year-1)/100)+((year-1)/400)+a[i])%7==5){n++;month[n]=i;}}elseif((year-1+((year-1)/4)-((year-1)/100)+((year-1)/400)+b[i])%7==5){n++;month[n]=i;}}if(n==1){printf("There is %d Black Friday in year %d.\n",n,year);printf("It is:\n");printf("%d/%d/13\n",year,month[1]);}else{printf("There are %d Black Fridays in year %d.\n",n,year);printf("They are:\n");for (i=1;i<=n;i++){printf("%d/%d/13\n",year,month[i]);}}return 0;}15.您会输出一止星号?咱们才启初上机,当前需要咱们用最简朴得办法,正在一止中输出N个星号.输进:N值输出:一止中N个星号.步调:#include<stdio.h>int main(){int i,n;scanf("%d",&n);for(i=1;i<=n;i++)printf("*");printf("\n");}16. 估计SUM的值已知公式:SUM = 1 + 1/2 + 1/3 + 1/4 + ... + 1/n输进: n 输出:表白式 sum 的值.截止生存 6 位小数.步调:#include<stdio.h>int main(){int i,n;double sum=0;scanf("%d",&n);for (i=1;i<=n;i++)sum+=1.0/i;printf("sum=%.6lf\n",sum);return 0;}17. 觅找特殊整数请编写一个步调觅找一种特殊整数:一个n 位的正整数等于其诸位数字的n次圆之战.比圆:407=4×4×4+0×0×0+7×7×7.所以407便是一个特殊数.输进:正整数的位数n(n<=6).输出:所有此n位特殊数.每个数占一止.若没有存留切合条件的特殊数,则输出提示:“No output.”;若存留,则从小到大举止输出.证明:假设输进为4,正在4位整数中,有3个4位的特殊数,则输出圆法为(输出中的1111、2222战9999本去没有是4位特殊数,不过圆法样例):111122229999步调:#include<stdio.h>#include <math.h>int main(){int n,i,j,num,t,s=0,t1,flag=0;scanf("%d",&n);t=pow(10,n-1);for (i=t;i<t*10;i++){t1=i;s=0;for (j=1;t1!=0;j++){num=t1%10;s+=pow(num,n);t1=t1/10;}if(s==i){flag=1;printf("%d\n",i);}}if(flag==0)printf("No output.\n");return 0;}18. 空心的倒三角型输进:输进三角形的下度(h >= 0).输出:挨印相映的空心倒三角形.图样拜睹尝试用例.步调:#include<stdio.h>#include <math.h>int main(){int i,j,h;scanf("%d",&h);for (i=1;i<=h;i++){for(j=1;j<i;j++)printf(" ");if(i==1||i==h){for(j=1;j<=2*(h-i)+1;j++)printf("*");printf("\n");}else{printf("*");for(j=1;j<=2*(h-i)-1;j++)printf(" ");printf("*\n");}}return 0;}19. 空心字符菱形输进:菱型起初字母战菱形的下度.输出:参瞅尝试用例,挨印空心的由字符组成的菱形.步调:#include<stdio.h>#include <math.h>int main(){int i,j,h;char ch;scanf("%c%d",&ch,&h);for (i=1;i<=h;i++){for(j=1;j<=h-i;j++)printf(" ");printf("%c",ch+i-1);for(j=1;j<=2*i-3;j++)printf(" ");if(i==1){printf("\n");continue;}printf("%c\n",ch+i-1);}for (i=h+1;i<=2*h-1;i++){for(j=1;j<=i-h;j++)printf(" ");printf("%c",ch+(2*h-1)-i);for(j=1;j<=(2*h-1-i)*2-1;j++)printf(" ");if(i==2*h-1){printf("\n");continue;}printf("%c\n",ch+(2*h-1)-i);}return 0;}20. 空心梯形输进止数n 战尾数字字符,正在屏幕上输出由数字围起的下战下底宽度均 n 的空心梯形. 央供:输出的数字是循环的,即输出数字 9 后再输出的数字是 0.输进:止数n 战尾字符输出:空心梯形步调:#include<stdio.h>#include <math.h>int main(){int i,j,n,f,t=0;scanf("%d%d",&n,&f);t=f;for(j=1;j<=3*n-2;j++){if(j==3*n-2)printf("%d",t);elseprintf("%d ",t);if(j<(3*n-1)/2){if(t==9) t=0;elset++;}else if(j==(3*n-1)/2&&n%2==0) continue;else{if(t==0) t=9;elset--;}}printf("\n");t=f;for (i=2;i<=n;i++){for (j=1;j<=2*(i-1);j++)printf(" ");if(i==n){for (j=1;j<=(n+1)/2;j++){if(t==9){t=0;printf("%d ",t);}elseprintf("%d ",++t);}for (j=1;j<=n/2;j++){if(t==0&&n%2!=0)t=9;else if(j==1&&n%2==0){if(j==n/2)printf("%d\n",t);elseprintf("%d ",t);continue;}elset--;if(j==n/2)printf("%d\n",t);elseprintf("%d ",t);}}else{if(t==9){printf("0");for(j=1;j<=6*n-4*i-3;j++)printf(" ");printf("0\n");t=0;}else{t++;printf("%d",t);for(j=1;j<=6*n-4*i-3;j++)printf(" ");printf("%d\n",t);}}}。
蓝桥杯b组c语言历年题目
蓝桥杯b组c语言历年题目全文共四篇示例,供读者参考第一篇示例:蓝桥杯是中国面向大学生的计算机科学与编程竞赛,设立了不同级别的组别和不同的题目形式,其中B组是C语言编程的比赛,考察参赛选手对于C语言编程的理解和应用能力。
参加B组比赛需要具备一定的编程基础和C语言知识,适合有一定编程经验的大学生参与。
历年来,蓝桥杯B组的C语言题目围绕着各种不同的主题展开,涵盖了计算机科学与编程的各个方面,从基础的数据结构和算法到高级的计算机网络和操作系统等内容,题目设计丰富多样,旨在考察参赛选手的编程能力和创新思维。
以下是部分历年蓝桥杯B组的C语言题目:1. 编写一个程序,实现一个简单的计算器功能,支持加减乘除运算,并能够处理输入错误的情况。
2. 设计一个程序,实现一个简单的俄罗斯方块游戏,要求具备显示界面和键盘控制功能。
3. 编程实现一个简单的网络聊天程序,要求实现客户端和服务器端的通信功能,支持实时消息传输。
4. 设计一个程序,模拟实现一个简单的操作系统,包括进程管理、文件系统和内存管理等功能。
5. 编写一个程序,实现一个简单的图形界面,包括按钮、文本框和标签等控件,能够响应用户的操作。
这些题目涵盖了C语言编程中的各个方面,要求选手具备良好的编程基础和解决问题的能力,能够独立完成编程任务并提供有效的解决方案。
蓝桥杯B组的C语言题目旨在培养参赛选手的编程能力和创新思维,帮助他们提升对计算机科学和编程的理解和实践能力。
参加蓝桥杯B组比赛不仅可以锻炼参赛选手的编程技能,还可以拓宽他们的视野,了解计算机科学与技术领域的最新动态和发展趋势。
通过参加蓝桥杯的比赛,参赛选手可以结识志同道合的朋友,与他们共同探讨问题,交流经验,共同进步。
第二篇示例:蓝桥杯是中国首个面向大学生的计算机程序设计和算法竞赛,有A、B、C、D四个组别,其中B组使用C语言进行比赛。
蓝桥杯B组的比赛题目涵盖了C语言的基础知识、算法和数据结构等方面,旨在考察参赛选手的编程能力和解决问题的能力。
全国计算机等级考试二级VISUAL+BASIC真题2012年3月
全国计算机等级考试二级VISUAL BASIC真题2012年3月(总分:100.00,做题时间:90分钟)一、选择题(每小题2分,共70分) (总题数:35,分数:70.00)1.下列叙述正确的是()。
(分数:2.00)A.循环队列是队列的一种链式存储结构√B.循环队列是队列的一种顺序存储结构C.循环队列是非线性结构D.循环队列是一种逻辑结构解析:解析:循环队列是一种顺序存储的线性结构,所以,“循环队列是队列中的一种链式存储结构,”“循环队列是非线性结构”和“循环队列是一种逻辑结构”的说法都是错误的。
2.下列叙述正确的是()。
(分数:2.00)A.栈是一种先进先出的线性表B.队列是一种后进后出的线性表C.栈和队列都是非线性结构D.以上三种说法都不对√解析:解析:栈和队列都是线性结构,并且栈是后进先出,队列是先进先出,所以三种说法都不对。
3.一棵二叉树共有25个结点,其中5个是叶子结点,则度为1的结点数为()。
(分数:2.00)A.16 √B.10C.6D.4解析:解析:根据公式n0=n2+1,叶子节点个数为5,则度为2的结点书为4,那么度为1的结点数n1=n-n0-n2=25-4-5=16.4.在下列模式中,能够给出数据库物理存储结构与物理存取方法的是()。
(分数:2.00)A.外模式B.内模式√C.概念模式D.逻辑模式解析:解析:数据库系统在气内部都具有三级模式:概念模式、内部模式与外部模式。
其中,内模式(又称物理模式)给出了数据库物理存储结构与物理存取方法,如数据存储的文件结构、索引、集簇及hash等存取方式与存取路径,内模式的物理特性主要体现在操作系统及文件级上,它还为深入到设备及上。
概念模式是数据库系统中全局数据逻辑结构的描述。
是全体用户(应用)的go公共数据师徒,主要描述数据的概念记录类型一级他们之间的广西,它还包括一些数据间的语意约束。
外模式(子模式货用户模式)是用户的数据师徒,也就是用户缩减到的数据模式,它由概念模式推到而出的,在一般的DBMS中都提供相关的外模式描述语言(外模式DDL)5.在满足实体完整性约束的条件下()。
2012年计算机二级C语言答案
第一章C语言设计的初步知识第一节C语言基本常识及标识符选择题1-13:BDDBDABCBBBCC第二节常量、变量及数据类型选择题1-10:BBBBAAC(CC)BD 11-20:AC(AB)CCBBAAD第三节运算符和表达式选择题1-10:(AH)DDBCDDC(BDBDB)A 11-20:ADADADCCAD21-30:CDACBBADCD 31-40:BDBBDBCBAD41-50:BCCDCBDACD 51-59:(BE)D(BCC)(CB)CBACB填空题1)1.02)-3 3)16 4)2,1 5)3 6)3 7)y%2!=0 8)x==0 9)28 10)-1,1,1,1 11)112)4,3,4,1 13)0 14)x<-5||x>5 15)x>10&&x<100||x<0第四节数据类型转换选择题1-9:DADB(CG)CCDC填空题1)double 2)10.2 3)x+=1第二章顺序结构选择题1-6:ADADDC第一节数据输出选择题1-10:BDBABCAC(CCD)(DDAAC) 11-19:ACBA(AA)B(BCC)BC填空题1)10 20 0 2)261,n1=%d\nn2=%d 3)11 4)25 21 37 5)B 66 6)7 7)0 8)6.6 9)b 10)(4.900000,4)(4.000000,4)第二节数据输入选择题1-13:BABAACDCABDDD填空题1)(a=1,b=2)(i=10,j=20) 2)(a=1,b=1)(a=22,b=6) 3)12 4)1 B第三章选择结构第一节if语句和if语句构成的选择结构选择题1-10:BCDDADBBAB 11-24:CBCCCAADABCCAB填空题1)1 2)yes3)if(a<=b){x=1;printf(“####x=%d\n”,x);}else{y=2;printf(“****y=%d”,y);}4)585858 5)4599 6)5 0 3 7)-4第二节switch语句选择题1-6:CACAAA填空题1)passwarn 2)!# 3)a=2,b=1第四章循环结构第一节while语句和while循环选择题1-8:ABAABAAC填空题1)332)-1 3)8921第二节do-while语句和do-while语句构成的循环选择题1-9:ADBBDDBBD填空题1)522)16第三节for语句和for循环选择题1-10:CCCDDCCACB 11-16:DCAACB填空题1)102)18 3)5 4)0 5)0918273645 6)1 3 2 7)b=i+1循环的嵌套选择题1-5:DCBCA填空题1)6循环中的continue和break语句选择题1-10:DDDBDCDACA 11-17:ABDBBBD填空题1)17 2)20 3)i=3i=1i=-1 4)1,1第五章函数选择题1-10:CACBDCACDB 11-20:DDCABBBADA21-30:DCCBABACAD 31-35:DABAB填空题1)3,2,2,3 2)5 6 3)9 4)12 5)double max 6)1 3 6 7)7 8)4,3,3,4 9)9 10)-1*f,fun(m) 11)sum=0.0,i,sum, mysum(i) *mysum(k)/ mysum(j)第六章数组第一节一维数组选择题1-13:BDACCCDABBAAD填空题1)9,0 2)12 3)1 3 7 15 4)5,4 5)c,scanf(“%c”,&c);,+65第二节二维数组选择题1-10:DDDCACCBDB填空题1)123056009 2)-850,2,0 3)58第三节字符数组选择题1-10:ABDCCCCAAA 11-20:(CC)CDCBBADCB21-34:(CF)AACDBCBDBABAC填空题1)02)X 3)abcbcc 4)QuickC 5)s[i]>=’0’&&s[i]<=’9’6)j+=2,a[i]<a[j] 第四节数组与函数选择题1-11:BABBCABACCD填空题2)void fun(int q[]),void fun(int q[M]),void fun(int q[50]) 20Itis 3)6第七章指针第一节指针的定义,赋值及指针与简单变量间的运算选择题1-10:CBBDDCACDB 11-21:ACDDAACADAC填空题1)0,7 2)k,*k第二节指针与一维数组选择题1-10:CCDBDDADDC 11-20:BAA(CI)BDDACA21-30:BDDDDCACBA 31-40:BBDBDBDDDD41-53:DBCDDBBACAABB填空题1)p=p+7 2)*(p+5) 3)49 4)10 5)60 6)67)s=p+3,s=a+2,66,*(s+1),22 33 44 55 66 8)efgh 9)’\0’,++第五节指针与函数(一)指针,简单变量及函数的结合选择题1-10:DDACBABABC 11-17:CDBBACD填空题1)0 2)7 1 3)8 4 4)a=9,b=6 5)3 5 6)void(*p)() 7)7 8)8 9)abcfg(二) 指针,数组与函数结合选择题1-10:AACDDCBCDC 11-21:DBDDA(ADF)CCABB填空题1)XYZA 2)2 3)cdcab第七章:指针第一节指针的定义、赋值及指针与简单变量间的运算一:选择题1-5 C B B D D6-10 C A C D B11-15 A C D C A16-20 A C A D A21-22 C B二:填空题1 0 72 k *k第二节指针与一维数组一:选择题1-5 C C D B D6-10 D A A D C11-15 B A A CI B16-20 D D A C A21-25 B D D D D26-30 C A C B A31-35 B B B B D36-40 B D D D D41-45 C D B C C46-50 D D B B A51-55 C A A B B 二:填空题1、p=p+7或p+=72、*(p+=5)或*(p+5)3、494、105、606、 67、(1) s=p+3 (2) s=a+2(3) 66 (4) *(s+1)(5) 2 (6) 22 33 44 55 668、efgh9、'\0' ++10、*(++p)第三节指针与二维数组一:选择题1-5 B C D D C6-10 B C C D C11-15 D A D A C16-20 B A C C C21-25 D A A A A26 B第四节二重指针一:练习1-5 D B B C D6-9 C C B D第五节指针与函数(一)指针、简单变量及函数的结合一:选择题1-5 D D A C B6-9 A B A B11-15 C C D B B 16-19 A C C D二:填空题1:02:713:8 44:a=9 b=65:356:void (*p)()或*p(int *,int *)7:78:89:int * *z *x t10:*x t11:&c,&b &a,&c &a,&b12:(-1.0) *sn13:findbig14:abcfg(二)指针、数组与函数结合1-5 A A C D D6-10 C B C D C 11-15 D B B B A 16-20 B A C D ADF 21-25 C C A B B 26-30 C A B D D 31 D二:填空题1、XYZA2、 33、cdeab4、63545、strl is:qwortyabcd6、pa[i] avg/n7、r+b[k] *x8、'\0' n++9、!(s[i]>='0' && s[i]<='9')10、i11、p++ w[i-1]12、i return 113、max<a[row][col] min>max14、row a[row][colum]15、IJKLEFGHABCD16、 3abc file1 file217、int ** int ** **ss **tt18、str+strlen(str)-1 t==0 huiwen(str) 第八章:C语言中用户标识符的作用域和存储域一、选择题1-5 A C B C D 6-10 B A C A D 11-15 D C C D A 16-20 A A B A B 21-25 B C C B D 26-30 C B A C A 31 A二:填空题1、ABCDCD2、81173、2104、24685、30 256、2,5,1,2,3,-27、0248、024*******第九章:编译预处理和动态存储分配第一节编译预处理一:选择题1-5 C D B C C 6-10 A A B D B 11-15 C A A B C 16-17 B D二:填空题1、72、1000 103、814、99115、166、 c第二节动态存储分配一:选择题1-5 C A D A B 6-10 C B A C A 11-12 D二:填空题1、(double *)2、malloc(11)3、3*sizeof(double)4、 a *b第十章:结构体、共用体和用户定义类型第一节用typedef说明一种新的类型名一:选择题1-4 D B C D第二节结构体类型一、选择题1-5 D C A B D 6-10 D D B B A 11-15 C D D B C16-20 B B B C B21-25 A C D D B26-30 B C B A B31-35 D B C A CAB二:填空题1、222、ex3、 5 24、struct node*5、b->day (*b).day6、2002 Shangxian7、DDBBCC8、sizeof(struct node)9、struct link *next;10、struct list *next int data11、struct STRU*12、char *data struct link *next13、x.link = y.link14、15、(struct list*) (struct list *) return h;16、struct node* ch NULL17、struct list * q18、13431第三节共用体一、选择题1-5 C C A A A6-10 B B C D C11-12 B D二:填空题1、10 42、struct STRU3、804、34第十一章位运算一、选择题1-5 D C C B B6-10 A B B D A D11-14 A D D D二:填空题1、11110000第十二章文件一、选择题1-5 C A D B B6-10 C C A B A11-15 B A D CD D16 D二、填空题1、rewind或fseek2、(!feof(fp))3、fopen(fname,"w" ch4、"bi.dat","w" fclose(fp)5、"w" str[i]-32 "r"6、 3 !feof(f1)或feof(f1)==07、fname fp8、"d1.dat","rb"9、学习使人进步,相信能就一定能"bi.dat" fp成功10、fopen11、hell。
2012全国计算机二级C语言(C++)上机编程题技巧总结和答案
二级C语言上机编程题技巧一、方法总结1、二级C语言上机编程题在二级上机考试中属于较难题型,因此很多同学都害怕通过不了。
综合往年的考试,结合考试大纲,每年考试的编程题都有一定的规律和方法,只要同学们认真熟练使用做题的方法,通过考试是没有问题的。
2、编程题做题方法一:使用C语言特有的函数做题(1)编程思想:使用C语言函数库中的做题,做题时必须注意包含对应的头文件(2)考题举例:题库中的第37题,要求将数字字符串转化为对应整数,例如“-1234”转化后为-1234。
做题时需要添加头文件#include "stdlib.h",然后在fun函数中写入程序return atol(p);其中atol(p)表示将p从字符串转化为长整型数。
最后编译,运行后输入测试数据后即可得到满分。
#include <stdio.h>#include <string.h>#include "stdlib.h"long fun ( char *p){return atol(p);}(3)方法总结:该类方法可以适用的题目较少,同学们了解即可。
3、编程题做题方法二:使用规律做题(1)编程思想:部分题目的答案是固定的,不会因为输入的数据改变而改变,因此这部分题目我们直接将答案记住即可,减少编程的麻烦。
(2)考题举例:题库中的70题,求cos(x)-x=0的一个实根。
做题时候在fun函数中输入return0.739085;后点击编译和运行即可,无需输入测试数据。
(补充:如果需要输入测试数据,程序在输出的黑屏上面会提示,不过一般是英文提示,所以同学们要格外小心)#include <math.h>#include <stdio.h>double fun(){return 0.739085;}(3)考题总结:该题为每年必考的题目,因此同学们要将答案熟记,以便大家能顺利通过考试。
C语言编程题_答案
37 合并字符串 ............................................................................................................. 62
38 折半插入排序.......................................................................................................... 64
39 拱猪计分(选作) .................................................................................................. 67
6 计算SUM的值 ........................................................................................................... 9
7 贪吃的猴子 ............................................................................................................... 10
28 洗牌(选作).......................................................................................................... 44
2012年C语言程序设计竞赛题
2012年首届北京联合大学程序设计竞赛《C语言程序设计》试题考试时间:90分钟答题要求:? 将“给学生”文件夹中的“答题”文件夹复制到D盘后重命名,更名后的文件夹以参赛组号和组员姓名构成(如:C语言-T60张三、李四、王五)。
? 分别打开本组文件夹中的3个.c文件答题。
? 做题过程中请及时存盘,不要擅自重启机器,遇到死机时请找监考老师。
? 答卷完毕,关闭所有窗口,经监考教师检查后,离开考场。
? 不要关机。
1.(40分)编写程序实现如下功能:假设有一个圆心为(a,b)、半径为r的圆,其中a、b、r 从键盘输入。
输入10个点的平面坐标(x轴和y轴的坐标值),判断其中哪些点在该圆内、圆外或圆周上,并分别统计圆内、圆外或圆周上点的个数。
已知:两个点(x1,y1)和(x2,y2)间的距离s的计算公式为:s?(x2-x1)2?(y2?y1)22.(30分)下面程序的功能是计算两个49位超大整数之和,请补充完整程序。
#include <stdio.h>#include <stdlib.h>#include <time.h>#define N 50void mycreate(int *p);void myout(int *p);void mysum(int *a,int *b,int *c);main(){ int a[N]={0},b[N]={0},c[N]={0},i=0;mycreate(a); // 产生一个49位整数,并将该数的每一位数字存放在数组a中mycreate(b); // 产生一个49位整数,并将该数的每一位数字存放在数组b中printf("第一个整数: ");myout(a); //输出a[1]至a[N-1]printf("第二个整数: ");myout(b); //输出b[1]至b[N-1]mysum(a,b,c); //计算两个49位整数之和,并将该和的每一位数字存放在数组c中printf("两个整数和:");if(c[0]!=0) //有进位时printf("%d",c[0]);else //无进位时printf(" ");myout(c); //输出c[1]至c[N-1]}// 产生一个49位整数,并将该数的每一位数字存放在p指向的数组中//函数mycreate的首部{ int i=0;。
最新2012年全国计算机等级考试C语言南开100题
2012年全国计算机等级考试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题请编写一个函数void fun(char *tt,int pp[]),统计在tt字符中"a"到"z"26各字母各自出现的次数,并依次放在pp所指的数组中。
VC++程序设计实验指导书-2012
9.退出 Visual C++ 6.0
退出 Visual C++ 6.0 有两种方式:一种是单击主窗口右上角的“关闭”按钮 是选择 File→Exit 菜单。 ,另一种
10.写出实验报告
结合思考与练习题,写出实验报告。
思考与练习
(1)除工具栏可以浮动和停泊外,看看还有哪些窗口可以这样操作? (2)经过创建项目文件的实验,试总结出创建一个控制台应用项目的一般方法。
// // // //
声明变量 显示提示信息 从键盘上输入变量r的值 计算面积
// 输出面积
⑤ 此时在文档窗口中所有代码的颜色都发生改变,这是 Visual C++ 6.0 的文本编辑器 所具有的语法颜色功能如图 11 所示。其中,绿色表示注释,蓝色表示关键词等。
图 11
编辑器的代码语法颜色功能
⑥ 按快捷键 F7,系统开始编译。编译后,再按快捷键 Ctrl+F5 就可运行了。 说明:对于 C/C++语言工程项目的创建,凡没有特别说明,均采用此方法。
图5
浮动的“标准”工具栏
例如,将鼠标指针指向“标准”工具栏的非按钮区域,按住鼠标左键不放,将其拖至屏 幕中央,释放鼠标左键,观察变化。再将鼠标指针移至工具栏窗口的边界处,按住鼠标左键 不放并拖动,观察大小的变化。图 5 是“标准”工具栏浮动的状态,其大小已被拖放过。 当然,浮动和停泊两种状态可以进行切换。在“浮动”的工具窗口标题栏处双击鼠标左 键或将其拖放到主窗口的四周,都能使其停泊在相应的位置处。在“停泊”工具栏的非按钮 区域双击鼠标左键,可切换成“浮动”的工具窗口。
6
图8
修改代码
说明:在输入字符和汉字时,要切换到相应的输入方法中,除了字符串和注释可以使用 汉字外,其余一律采用英文字符输入。代码中,stdafx.h 是每个应用程序所必有的预编译头 文件,程序所用到的 Visual C++头文件包含均添加到这个文件中。 上的生成工具按钮 或直接按快捷键 F7,系统开 ⑦ 单击编译工具条 始对 Ex_Hello 进行编译、连接,同时在输出窗口中观察出现的内容,当出现: 表示 Ex_Hello.exe 可执行文件已经正确无误地生成了。 上的运行工具按钮 ⑧ 单击编译工具条 可以运行刚刚生成的 Ex_Hello.exe 了, 结果如图 9 所示。 或直接按快捷键 Ctrl+F5,就
VB试题
30.有一数列,它的头 2 个数为 0、 1,以后的每个数都是其前 2 个数之和。编程在文本 框 T1 中输出所有这些数列,直到第 30 个数或最后一项等于 1000 为止,同时在另一文本 框中输出它们的和。 31.设计一个素数的判定器,界面如图所示。程序运行后,单击“生成数”按钮,则产生 一个[0,100]之间的整数,并显示在 Text1 中;单击“判定数”按钮,则对以上产生的 整数进行判定,如果是素数则在 Text2 中显示“是素数” ,否则显示“不是素数” 。
第 8 页 共 19 页
2012-2013 学年第二学期“计算机程序设计基础 Visual Basic”编程练习题
35.使用 While…Wend 循环求 2×4×6×8×…(2n)大于 100000 的最小值,结果输出到文 本框中。
36.利用公式
1 1 1 1 1 求π的值,精确到小数点后 6 位。运行界面如图。 4 3 5 7 9
Text1
Text2
2.新建工程,界面如上图,运行时,鼠标在“改变窗体颜色”按钮上按下时使窗体背景色 变为红色,鼠标抬起时使窗体背景色变为绿色。鼠标在窗体空白地方按下时使 Text1 的 内容为“在窗体上按下了鼠标” ,鼠标抬起时使 Text1 的内容为“在窗体上抬起了鼠标” 。
3.新建工程,界面如下图,运行时,在文本框 Text1 中输入内容的同时,在文本框 Text2、 Text3 中显示相同的内容,但字体不同(字体自定) 。
2012-2013 学年第二学期“计算机程序设计基础 Visual Basic”编程练习题
Text1 Text2 Label3 Label4
39.随机产生 10 个两位正整数,求出最大值、最小值、和、平均值,并显示这 10 个数 的运行结果。程序运行界面如图所示。
全国等考C语言2012年3月真题和答案详解
2012年3月全国计算机等级考试二级笔试试卷C语言程序设计(考试时间90分钟,满分100分)一、选择题((1)—(10)、(21)—(40)每题2分,(11)—(20)每题1分,共70分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的。
请将正确选项填涂在答题卡相应位置上,答在试卷上不得分。
(1)下列叙述中正确的是A)循环队列是队列的一种顺序存储结构 B)循环队列是队列的一种链式存储结构C)循环队列是非线性结构 D)循环队列是一种逻辑结构(2)下列叙述中正确的是A)栈是一种先进先出的线性表 B)队列是一种后进先出的线性表C)栈与队列都是非线性结构 D)以上三种说法都不对(3)一棵二叉树共有25个结点,其中5个是叶子结点,则度为1的结点数为A)4 B)6 C)10 D)16(4)在下列模式中,能够给出数据库物理存储结构与物理存取方法的是A) 内模式 B)外模式 C) 概念模式 D)逻辑模式(5)在满足实体完整性约束的条件下A)一个关系中可以没有候选关键字 B)一个关系中只能有一个候选关键字C)一个关系中必须有多个候选关键字 D)一个关系中应该有一个或多个候选关键字(6)有三个关系R、S和T如下:则由关系R和S得到关系T的操作是A)自然连接 B)并 C)差 D)交(7)软件生命周期的活动中不包括A)软件维护 B)需求分析 C)市场调研 D)软件测试(8)下面不属于需求分析阶段任务的是A)确定软件系统的性能需求 B)确定软件系统的功能需求C)指定软件集成测试计划 D)需求规格说明书评审(9)在黑盒测试方法中,设计测试用例的主要根据是A)程序外部功能 B)程序数据结构 C)程序流程图 D)程序内部逻辑(10)在软件设计中不使用的工具是A)系统结构图 B)程序流程图 C)PAD图 D)数据流图(DFD图)(11)针对简单程序设计,以下叙述的实施步骤顺序正确的是A)确定算法和数据结构、编码、调试、整理文档 B)编码、确定算法和数据结构、调试、整理文档C)整理文档、确定算法和数据结构、编码、调试 D)确定算法和数据结构、调试、编码、整理文档(12)关于C语言中数的表示,以下叙述中正确的是A)只有整型数在允许范围内能精确无误的表示,实型数会有误差B)只要在允许范围内整型数和实型数都能精确的表示C)只有实型数在允许范围内能精确无误的表示,整型数会有误差D)只有用八进制表示的数才不会有误差(13)以下关于算法的叙述中错误的是A)算法可以用伪代码、流程图等多种形式来描述B)一个正确的算法必须有输入C)一个正确的算法必须有输出D)用流程图描述的算法可以用任何一种计算机高级语言编写成程序代码(14)以下叙述中错误的是A)一个C程序中可以包含多个不同名的函数B)一个C程序只能有一个主函数C)C程序在书写时,有严格的缩进要求,否则不能编译通过D)C程序中主函数必须用main作为函数名(15)设有以下语句char ch1, ch2; scanf("%c%c",&ch1,&ch2);若要为变量ch1和ch2分别输入字符A和B,正确的输入形式应该是A)A和B之间用逗号间隔 B)A和B之间不能有任何间隔符C)A和B之间可以用回车间隔 D)A和B之间用空格间隔(16)以下选项中非法的字符常量是A)'\101' B)'\65' C)'\xff' D)'\019'(17)有以下程序# include <stdio.h>main( ){ int a=0, b=0, c=0;c=(a-=a-5); (a=b,b+=4);printf("%d,%d,%d\n",a,b,c);}程序运行后的输出结果是A)0,4,5 B)4,4,5 C)4,4,4 D)0,0,0(18)设变量均已正确定义并赋值,以下与其他三组输出结果不同的一组语句是A)x++; printf("%d\n",x); B)n=++x; printf("%d\n",n);C)++x; printf("%d\n",x); D)n=x++; printf("%d\n",n);(19)以下选项中,能表示逻辑值“假”的是A)1 B)0.000001 C)0 D)100.0(20)有以下程序# include <stdio.h>main( ){ int a;scanf("%d",&a);if(a++<9) printf("%d\n",a);else printf("%d\n",a--);}程序运行时从键盘输入9<回车>,则输出结果是A)10 B)11 C)9 D)8(20)有以下程序# include <stdio.h>main( ){ int a;scanf("%d",&a);if( a++<9 ) printf( "%d\n",a );else prinft( "%d\n",a-- );}程序运行时从键盘输入9<回车>,则输出结果是A)10 B)11 C)9 D)8(21)有以下程序# include <stdio.h>main( ){ int s=0, n;for( n=0; n<3; n++ ){ switch(s){ case 0:case 1: s+=1;case 2: s+=2; break;case 3: s+=3;default: s+=4;}printf("%d,",s);}}程序运行后的输出结果是A)1,2,4, B)1,3,6, C)3,10,14, D)3,6,10,(22)若k是int类型变量,且有以下for语句for (k=-1; k<0; k++ ) printf("****\n");下面关于语句执行情况的叙述中正确的是A)循环体执行一次 B)循环体执行两次C)循环体一次也不执行 D)构成无限循环(23)有以下程序# include <stdio.h>main( ){ char a,b,c;b='1'; c='A';for (a=0; a<6; a++){ if(a%2) putchar(b+a);else putchar(c+a);}}程序运行后的输出结果是A)1B3D5F B)ABCDEF C)A2C4E6 D)123456(24)设有如下定义语句int m={2,4,6,8,10}, *k=m;以下选项中,表达式的值为6的是A)*(k+2) B)k+2 C)*k+2 D)*k+=2(25)fun函数的功能是:通过键盘输入给x所指的整型数组所有元素赋值。
2012年3月计算机二级C语言上机操作题及答案
C语言上机操作题.第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所指的数组中。
BUPT_2012C++试卷全版定版
1:指出下列对定义重载函数的要求中,哪些是错误的提法。
A.要求参数的个数相同。
B.要求参数中至少有一个类型不同。
C.求函数的返回值不同。
D.要求参数的个数相同时,参数类型不同。
答案:C2:下列运算符中,()运算符在C++中不能重载。
A.?:B.[]C.newD.&&答案:A3:下面关于友元的描述中,错误的是()。
A.友元函数可以访问该类的私有数据成员B.一个类的友元类中的成员函数都是这个类的友元函数C.友元可以提高程序的运行效率D.类与类之间的友元关系可以继承答案:D4:下述静态成员的特性中,()是错误的。
A.静态成员函数不能利用this指针B.静态数据成员要在类体外进行初始化C.引用静态数据成员时,要在静态数据成员名前加<类名>和作用域运算符D.静态数据成员不是所有对象所共有的答案:D5:关于虚函数的描述中,()是正确的。
A.虚函数是一个静态成员函数B.虚函数是一个非成员函数C.虚函数既可以在函数说明时定义,也可以在函数实现时定义D.派生类的虚函数与基类中对应的虚函数具有相同的参数个数和类型答案:D6:下列关于动态联编的描述中,错误的是()。
A.动态联编是以虚函数为基础B.动态联编是运行时确定所调用的函数代码的C.动态联编调用函数操作是指向对象的指针或对象引用D.动态联编是在编译时确定操作函数的答案:D7:关于虚函数的描述中,正确的是()。
A.虚函数是一个静态成员函数B.虚函数是一个非成员函数C.虚函数即可以在函数说明定义,也可以在函数实现时定义D.派生类的虚函数与基类中对应的虚函数具有相同的参数个数和类型答案:D8:下面4个选项中,()是用来声明虚函数的。
A.virtual B.public C.using D.false答案:A9:编译时的多态性可以通过使用()获得。
A.虚函数和指针B.重载函数和析构函数C.虚函数和对象D.虚函数和引用答案:A10:关于纯虚函数和抽象类的描述中,错误的是()。
2012 C实验程序和C语言典型算法
C语言典型算法和C实验程序按下Ctrl键时,单击目录可显示指定页C语言典型算法和C实验程序 (1)1穷举法教材P84 (1)2迭代法教材P86 (2)3判断素数教材P87 (3)4冒泡法教材P95 (3)5显示杨辉三角形的前10行 (4)第4章选择结构 (5)第5章循环结构 (6)第6章数组 (9)第7章函数 (11)第8章指针 (14)1穷举法教材P84例1我国古代数学家在<<算经>>中出了一道题,译成现代汉语意思:公鸡每只5元,母鸡每只3元,小鸡3只1元。
用100元买100只鸡,问公鸡、母鸡、小鸡各多少只?#include<stdio.h>main(){int x,y,z;printf("%8s%8s%8s\n","公鸡","母鸡","小鸡");for(x=1;x<=19;x++)for(y=1;y<=33;y++){z=100-x-y;if(5*x+3*y+z/3.0==100)printf("%8d%8d%8d\n",x,y,z);}}例2有36块砖36人搬,男搬4,女搬3,小孩2人搬1砖。
要求一次搬完,问男、女、小孩各若干(人)?#include<stdio.h>main(){int x,y,z;printf("%6s%6s%6s\n","男","女","小孩");for(x=1;x<9;x++)for(y=0;y<12;y++){z=36-x-y;if(4*x+3*y+z/2.0==36)printf("%6d%6d%6d\n",x,y,z);}}2迭代法教材P86求Fibonacci数列:1,1,2,3,5,8,13,……的前40项#include<stdio.h>main(){long f1,f2;int i;f1=1;f2=1;for(i=1;i<=20;i++){printf("%12ld%12ld",f1,f2);if(i%2==0)printf("\n");f1=f1+f2;f2=f2+f1;}}3判断素数教材P87#include<stdio.h>#include<math.h>main(){int m,i,k;printf("请输入一个正整数");scanf("%d",&m);k=sqrt(m);for(i=2;i<=k;i++)if(m%i==0)break;if(i>k)printf("%d是素数\n",m);else printf("%d不是素数\n",m);}4冒泡法教材P95对10个数组元素a[0],a[2],a[3],……,a[9]进行排序(由小到大)。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Course Work
Write a program that will help elementary school pupils practice math.
a)The program will first ask the user for his/her ID number (including two letters &
4 digits), e.g.
Please input your four digit ID no: AB1234
The program should have input validation.
Then the program prompts three choices:
(1)Start a test
(2)Check scores
(3)Exit
b)Test: the program will give 10 math problems, e.g.:
12 * 3 = 36
48 + 32 =80
…
56 / 28 =2
Note:
i) Pupils will answer each problem before the next one is given.
ii) The problems should include addition, subtraction, multiplication and
division. They are randomly generated.
iii) Randomly generates numbers for problems. However, must ensure that
both the problem and the result are no larger than two digits. The problem
and the result should be greater than or equal to zero. The divisor cannot be
zero.
iv) After ten problems are finished, record the time used by the student to do
the ten problems.
v) Gives a score to each student. Saves this student’s ID, his/her score and
the time used into a file named ‘record.txt’.
vi) Print the following information on the screen:
Prob. | Correct Answ. | Ur Answ
c)Check scores: Searches the file ‘record.txt’and lists all the historical scores for
this student, e.g.:
Your previous records are:
AB1234 80 150 seconds
AB1234 50 182 seconds
AB1234 90 98 seconds
Y ou will be marked based on your program’s:
(1)Correctiveness
(2)Readability
(3)Robustness
(4)Conciseness
注意事项:
1.D eadline:6月11日
2.提交方式:
2.1只提交源代码C文件,且已通过TC3编译,没有任何编译错误和警告.
2.2源文件以班级号-班内序号-姓名.c为文件名,不得压缩
2.3 班长收齐后发给助教老师和任课老师
大作业提交要求:
1.须提交的文档:C源代码文件,包含伪码/流程图和运行结果的Word文档
2.提交方法:以上两个文档,以学号命名压缩文件(e.g.B01_3000.zip),并以 邮箱发送到cw@
3.查看提交结果::6000/cpf/DocLib/Forms/AllItems.aspx。