




已阅读5页,还剩8页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
班级: 学号: 姓名: 试 题 二参考答案与评分标准一、单项选择题:(10分,每题2分,评分标准:正确得2分,错误扣2分)1 以下不能对二维数组a进行正确初始化的语句是A)int a23=0;B)int a3=1,2,0;C)int a23=1,2,3,4,5,6;D)int a3=1,2,3,4,5,6;2有以下程序片断float fun(int x,int y) return(x+y);main() int a=2,b=5,c=8;printf(%3.0fn,fun(int)fun(a+c,b),a-c));程序运行后的输出结果是:A)编译出错B)9C)21D)9.03若有以下调用语句,则不正确的fun函数的函数原型是main() int a50,n;fun(n, &a9);A)void fun(int m, int x);B)void fun(int s, int h41);C)void fun(int p, int *s);D)void fun(int n, int a);4下面程序片段的执行结果是:#define MAX 10int aMAX, i;main( )printf(n); sub1( ); sub3(a); sub2( ); sub3(a);sub2( )int aMAX, i, max=5; for(i=0; imax; i+) ai=i;sub1( )for(i=0; iMAX; i+) ai=i+i;sub3(int a )int i; for(i=0; iMAX; i+)printf(%d,ai); printf(n);A) 0 2 4 6 8 10 12 14 16 18 0 1 2 3 4 10 12 14 16 18B) 0 1 2 3 4 0 2 4 6 8 10 12 14 16 18C) 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4D) 0 2 4 6 8 10 12 14 16 18 0 2 4 6 8 10 12 14 16 185. 下列程序执行后的输出结果是#include main() int a33, *p, i;p = &a00;for (i=1; i9; i+)pi=i+1;printf(%dn,a12);A)3B)6C)9D)随机数二、写出下列程序的运行结果。(10分,评分标准:正确得2分,完全错误扣2分,如果部分错误,少一行或者多了一行,或者其他提示信息,则扣1分)1main()int i,j,x =0;for(i=0;i2;i+)X+;for(j=0;j3;j+)if(j%2) continue;X+;X+;printf(x=%dn,x);程序运行结果是: x=82#include struct STU char num10; float score3; ; main()struct STU s3=20021,90,95,85, 20022,95,80,75, 20023,100,95,90, *p=s; int i; float sum = 0; for (i=0; iscorei; printf(%6.2fn,sum); 程序的运行结果是:270.003#include main( ) char s100; char c, i; scanf(%c, &c); scanf(%d, &i); scanf(%s, s); printf(%d,%c,%sn, c, i, s);已知字符a的ASCII码值为97,那么当程序输入:a97123,程序运行结果是:97 a 1234#include int a=13, b=8;int max(int a, int b)int c; c=ab?a: b; return(c);main( )int a=5; printf(Max=%dn, max(a, b);程序运行结果是:Max=85位式运算符是C语言作为中级语言的体现,可以实现以二进制比特位为单位的操作,其中 “&” 是“位式与运算符”,有如下程序:#include int func(unsigned int x)int i, mask = 1, total = 0;for (i=1; i=16; i+)if (x & mask) = mask)total+;mask = mask *2;return total;main()unsigned int input;printf(please input an number: );scanf(%u,&input);printf(The result is :%dn,func(input);当用户输入为15时,程序运行结果是:The result is: 4三、阅读程序,在标有下划线的空白处填入适当的表达式或语句,使程序完整并符合题目要求。(8分,评分标准:每空1分,正确得1分,错误扣1分)1.由键盘输入一个班的某课程的学生成绩,计算其平均分,然后输出。(注:使用动态数组实现)#include #include main()int *p=NULL,n,i,sum;printf(please enter array size: );scanf(%d, &n ); p=(int *)malloc(n* sizeof(int); if (p=NULL)printf(no enough memory!n);exit(0);/或者 return ;printf(please enter the score: );for(i=0;in;i+)scanf(%d,p+i); sum=0 ; for(i=0;in;i+) sum=sum+*(p+i) ; printf(aver=%dn,sum/n);free(p); 2. 输入一个字符数小于100的字符串string,然后在string所保存字符串中的每个字符间加一个空格。 #include#define MAX 100void CopyString(char c,char s);void Insert(char s);main()char stringMAX;scanf(%s,string);Insert(string);printf(%s,string);void CopyString(char c, char s)int i;for (i=0; si!=0; i+)ci = si;ci = 0;void Insert(char srcStr)char strTempMAX;int i = 0, j = 0;CopyString(strTemp, srcStr);while (strTempj != 0)srcStri = strTempj;i+;j+;srcStri = ; i+;srcStri = 0;四、在下面给出的4个程序中,共有16处错误(包括语法错误和逻辑错误),请找出其中的错误,并改正之。(30分,每找对1个错误,加1分,每修改正确1个错误,再加1分。只要找对15个即可,多找不加分。)1设计一个函数MaxCommonFactor(),利用欧几里德算法,即称辗转相除法计算两个正整数的最大公约数。 #include int MaxCommonFactor(int a, int b);main()int a, b, x;printf(Input a,b:);scanf(%d,%d,&a,&b);x = MaxCommonFactor(a,b);printf(MaxCommonFactor = %dn, x);int MaxCommonFactor(int a, int b) ; int r;dor = a % b;a = b;b = r;while (r != 0);return a;2从键盘输入10个整型数据,放入数组a 中,求其最大值、最小值及其所在元素的下标位置,并输出。#include main()int a10, n, max, min, maxPos, minPos;for (n=0; n10; n+)scanf(%d, &an);max = min = a0;/应初始化为数组中的某一元素maxPos = minPos = 0;for (n=1; n max) max = an; maxPos = n; else if (an min) min = an;minPos = n;printf(max=%d, pos=%dn,max, maxPos);printf(min=%d, pos=%dn,min, minPos);3下面的函数MyStrcmp()用于实现函数strcmp()的功能,将两个字符串s和t进行比较,要求将两个字符串中第一个不相同字符的ASCII码值之差作为MyStrcmp()函数的返回值。#include int MyStrcmp(char s, char t);main()char str120,str220;printf(Input string:);gets(str1);printf(Input another string:);gets(str2);if (MyStrcmp(str1,str2) 0) printf(str1str2n);else if (MyStrcmp(str1,str2) 0) printf(str1str2n);else printf(str1=str2n);int MyStrcmp(char s, char t) int i;for (i=0; si = ti; i+) if (si = 0 ) return 0 ;return (si - ti);4从键盘任意输入10个整数,用函数编程实现将其中最大数与最小数的位置对换后,再输出调整后的数组。#include #define ARRSIZE 10 /去掉末尾的; void MaxMinExchang(int a, int n)int maxValue=a0, minValue=a0, maxPos=0, minPos=0;int i, temp;for (i=1; i maxValue)maxValue = ai; maxPos = i; else if (ai minValue)minValue = ai; minPos = i; temp = amaxPos;amaxPos = aminPos;aminPos = temp;main()int aARRSIZE, i, n;printf(Input n(n=10):);scanf(%d, &n) ;printf(Input %d Numbers:n, n); for (i=0; in; i+) scanf(%d, &ai); MaxMinExchang(a, n);printf(After MaxMinExchange:n);for (i=0; in; i+) printf(%4d, ai);printf(n) ;五、编程(42分)总的原则:每出现一处简单语法错误就扣1分,具体评分标准见各题。1. 规定一个工人工作时间每个月160小时,每小时工资为5元,如果加班的话,每小时增加4元,请编程计算并打印此工人一个月的工资,要求由键盘输入工作时间(14分)。参考答案:/2分 包括标识符命名、缩进等代码风格#include main()int t,salary; /2分printf(Please input the time:n);scanf(%d,&t); /1分 if(t 744) /1分一个月超过31天每天24小时,考虑到最大最小范围判断,而且合理即可printf(Error, The time you entered is beyondscope!n);return;if(t=160)/2分 if else结构正确salary=t*5;/2分elsesalary=160*5+(t-160)*9; /2分printf(The salary is:%dn,salary); /2分2.编程计算并打印一元二次方程ax2+bx+c = 0的根,a、b、c由键盘输入,其中a不等于0。要求考虑一元二次方程根的所有情况(无根,有两个相等实数根,有两个不等实数根,有两个虚数根)。(14分)已知一元二次方程的求根公式为:参考答案:/2分 包括标识符命名、缩进等代码风格#include #include #include /1分#define EPS 1e-6/1分main()float a,b,c, disc,p,q;/1分变量定义与输入printf(Please enter a,b,c);scanf(%f,%f,%f,&a,&b,&c); if(fabs(a) = EPS) /1分与零比较,求绝对值各一分printf(It is not a quadratic equation!n);exit(0); /1分disc = b*b -4 * a* c; /1分if(fabs(disc) EPS)/2分 printf(Two unequal real roots: x1=%6.2f,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年护士临床技能测试试题及答案
- 精准备考2025年文化概论试题及答案
- 提升记忆力的学习策略执业医师考试试题及答案
- 行政管理中中华文化的核心价值试题及答案
- 中国文化概论与环境保护的关系试题及答案
- 药品管理法对药师考试的影响试题及答案
- 行政管理2025年研究方法试题及答案
- 2025年自考行政管理社会服务创新试题答案
- 正确认识执业药师的考试试题及答案
- 2025年执业药师的综合素质培养试题及答案
- T∕ZZB 2733-2022 贯流式蒸汽发生器
- 战略管理教学ppt课件(完整版)
- 艾滋病感染孕产妇所生儿童艾滋病早期诊断与抗体检测流程图
- 统筹监管金融基础设施工作方案
- 云南锂电池项目可行性研究报告
- 博物馆学概论:第十讲 数字博物馆
- 危险化学品企业安全标准化规范课件
- 客户退货处理流程图
- 中国民主同盟入盟申请表(样表)
- 毕业设计(论文)-轴向柱塞泵设计(含全套CAD图纸)
- 公安机关通用告知书模板
评论
0/150
提交评论