




免费预览已结束,剩余7页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2004级信息学院C语言设计考试试题一、判断下列语句或程序的对错。 10分 1 int x=y=z=0; () y,z没有定义2 #include ; () 不能有分号,#开头的结尾均不能有分号;3 printf(“%sn”,”c language”); ()4 float a100;int *p=a; () 数据类型不匹配5 char str20;6 int data4=0,1,2,3,4; ()五个元素,但是只有四个单元7 float x=1.45e+310L; ()数值越界8 int xyz-1=2; ()9 int x=xae ; () 10 int *p,a23 ;p=a ; () 数据类型不匹配二 计算下列表达式的值 10分设 unsigned int a=10,b=17,c=5,d=3;float f ; (1)f=b/c ( 3.0 ) (2)!(a+b)+c-1&b+c/2 ( 1 ) (3)(ab)+(c1+d) ( 0x1b ) (4)a+=b%=a=b ( 17 ) (5)a=2,b=a*+b ( 2 )三 程序改错 10分(1) 求两个浮点数的平方和及平方差#include float calculate (float x,float y,float *sub);添加函数原型声明main ()float a,b;float add_reasult, sub_result;scanf (“%f,%f”,a,b);add_result=calculate(a,b,&sub_result);printf( “a*a+b*b=%d,a*a-b*b=%dn”,add_result,sub_result);float calculate (float x,float y,float *sub) 添加函数类型float *temp; 应该直接定义为变量float temp;sub=a*a-b*b ; *sub=a*a-b*b;temp = a*a+b*b;return *temp; return temp(2) 统计N 个字符中大写字母和数字字符的个数 #include #define N 5Count(char *str,int *result); 添加函数声明 main () char stringN80; char i; int Capital_Count=0,Num_Count=0;需要初始化为0 for(i=0;iN;i+)scanf( “%s”,&stringi) ; 去掉&符 for(I=0;IN;I+)Capital_Count+=Count(stringI,&Num_Count); Printf(“Capital count :=%d,numbercount=%dn”,Capital_Count,Num_Count) ;Count(char *str, int *result)int temp,I ; int temp=0,i; temp应该初始化为0for(I=0;I=A& strI0|strI9) *result+; return temp; 四 程序填空 10分(答案参考书中p8586)(1)利用公式 sin x=x-x/3!+x x=0.5,n=20 #includemain() float y,s,x,d,t;int n,I,j;scanf(“%d%f”,&n,&x);s=1.0;_;for(I=2;In;I+) d=t=_; for(j=1;_;j+) d=_; t=_; s=(-1)*s; y+=_;(2)利用库函数char *strstr(char *sl,char *s2)在给定字符串中查找子串最后(最右)一次出现的位置。如果S2并没有出现在S1的任何地方,函数返回一个NULL指针。如果第二个参数是一个空字符串,函数就返回S1;注:库函数char strstr(char*s1,char*s2),这个函数在S1中查找子字符 串S2第一次出现的起始位置,并返回一个指向该位置的指针。如果S2并没有出现在S1的任何地方,函数返回一个NULL指针。如果第二个参数是一个空字符串,函数返回S1;(答案见书中p196197)#include#includevoid main(void)char str80=”ABCdabcdfgabc”;char *p;p=my_strrstr(str,”abc”);printf(“%s n”,p);p=my_strrstr(str,” “);printf(“%sn”,p);char *my_strrstr(char *s1,char*s2) char *last;char *current;_; if(_) last=current=_;While(_); last=current;current=_;return last;五写输出结果(20分) (1)#include void fun(int*,int);void main()int a=5,6,7,8,i;fun(a,4);for(i=0;i4;i+)printf(%dn,ai);void fun(int *b,int n)int i;for(i=0;in;i+)bi=i*2;return; 0246(2)#includevoid main()int i,j,max;int row=0,column=0;int a33=1,2,3,2,-3,4,9,4,7;max=a00;for(i=0;i3;i+)for(j=0;jmax)max=aij;row=i+1;column=j+1;printf(max=%d,row=%d,column=%dn,max,row,column);(书中例题5.5,p123)max=9,row=3,column=1(3)#include int n=1;void func();void main()static int x=5;int y;y=n;printf(main:x=%d,y=%d,n=%dn,x,y,n);func();printf(main:x=%d,y=%d,n=%dn,x,y,n);void func()static int x=4;int y=10;x=x+2;n=n+2;y=y+n;printf(func:x=%d,y=%d,n=%dn,x,y,n);main:x=5,y=1,n=1func:x=6,y=13,n=3main:x=5,y=1,n=3 (4)#include #include struct personchar name20;int count;void main()struct person leader3=li,0,zhang,0,wang,0;char name20,m,n;for(m=1;m7;m+)scanf(%s,name);for(n=0;n3;n+)if (!strcmp(name,)leadern.count+;break;printf(n);for(m=0;m 3;m+)printf(%s:%dn,,leaderm.count);当程序运行时,键入情况如下:LiWangLeiLiWangZhang写出程序的输出结果。(基本上是书中例题)Li:2Zhang:1Wang:2 (5)#include #include void main()char *name=capital,index,large,small;int a,b,n=4;char *temp;for(a=0;an-1;a+)for(b=a+1;b0)temp=namea;namea=nameb;nameb=temp ; 在此之前是书中的例题7.19for(a=0;an;a+)printf(%sn,namea+a); 输出时应该能够识别指针及偏移情况capitalndexrgell六、 编写程序 (35分)(1) 求一元二次方程ax+bx+c=0的根,实系数a,b,c从终端输入,只考虑两个不同实根和两个相同的实根 (9分)(书中例题3.4,p6667)#include #include void main()float a,b,c;float x1,x2;float x3,x4;float m;printf(input the numbers:a,b,c);scanf(%f%f%f,&a,&b,&c);if(a=0)printf(the input is error!n);return;m=b*b-4*a*c;if(m0)x1=(-b+sqrt(m)/(2*a);x2=(-b-sqrt(m)/(2*a);printf(x1:%.2f x2:%.2fn,x1,x2);else if(m=0)x1=x2=(-b+sqrt(m)/(2*a);printf(x1=x2=%.2fn,x1);elsex3=-b/(2*a);x4=sqrt(m)/(2*a);printf(x1=%.2f+%.2fin,x3,x4);printf(x2=%.2f-%.2fin,x3,x4);(2)编写一个函数,求s=a+aa+aaa+-+aaaaaaaaa-a,其中a是一个数字,例如2+22+222+2222(此时n=4)。主函数a和n的输入,调用所函数和输出所求的 累加和;编写的函数完成计算。 (9分)注意:不得使用全局变量,注意程序结构(书中习题3:4。16)#include#includelong Cal(long a,long n);main() long sn=0; long a,n; printf(please input a n:); scanf(%d%d,&a,&n); sn = Cal(a,n); printf(a+aa+aaa+.+aa.a=%ldnn,sn);long int Cal(long a,long n)int i;long sn=0,m=0;for(i=0;in;i+)m=m*10+a;sn+=m;return sn;(3)从十个字符串中找出所要的某个字符串,若能找到则把他删除,然后输出新字符串;若未找到则输出“”can not fond”. (9分)#include #include main()char s1080;char s280;int i,j;int num=0;printf(please enter 10 string:n);for(i=0;i10;i+)gets(si);printf(please enter s2 string:);gets(s2);for(i=0;i10;i+)if(strcmp(si,s2)=0)for(j=i;j9-num;j+)strcpy(sj,sj+1);i-;num+;for(i=0;i10-num;i+)puts(si);(4)一个班有N个同学,修5门课从键盘输入他们的性名、学号、性别和成绩。 1)按平均成绩从高到底打印全班的成绩单。 2)求第三门课的平均分 3)找出平均分在90以上或全部功课在85以上的女生。要求:输入、输出、计算、排序和查找分别用函数实现,主函数只是调用这些函数。不得使用全局变量。#include #define N 5struct Studentchar name20;int number;int sex;float score5;float aver;void Input(struct Student *stu);void Average(struct Student *stu,float *aver);void Sort(struct Student *stu);void Search(struct Student *stu,float score);main()struct Student stuN;float score=85.0;float aver3;Input(stu);Sort(stu);Average(stu,&aver3);printf(average3 is %.2fn,aver3);Search(stu,score);void Input(struct Student *stu)int i,j;float aver=0;for(i=0;iN;i+)aver=0;printf(please enter name:);gets();printf(please enter number sex:);scanf(%d%d,&stui.number,&stui.sex);printf(please enter score(5):);for(j=0;j5;j+)scanf(%f,&stui.scorej);aver +=stui.scorej;stui.aver = aver/5;getchar();void Sort(struct Student *stu)int i,j;struct Student temp;for(i=0;iN-1;i+)for(j=
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 水利工程测量考试试题及答案
- 实验小学家长委员会的工作总结-1
- 思源政府考试题及答案
- 旋律弹唱考试题及答案
- 个人师德学习总结97199
- 家电公司物流管理办法
- 家电公司招聘管理规章
- 2026届北京市第66中学高二化学第一学期期末达标检测模拟试题含答案
- 2020-2025年一级建造师之一建民航机场工程实务高分通关题库A4可打印版
- 新楼漏水补偿方案(3篇)
- 花卉学 二年生花卉
- 附件1:中国联通动环监控系统B接口技术规范(V3.0)
- 箱变设备台账
- GB/T 1185-2006光学零件表面疵病
- 微课(比喻句)讲课教案课件
- 银行间本币市场业务简介
- 2023年厦门东海职业技术学院辅导员招聘考试笔试题库及答案解析
- 辽阳市出租汽车驾驶员从业资格区域科目考试题库(含答案)
- (完整版)剑桥通用五级PET考试练习题
- DB32- 4385-2022《锅炉大气污染物排放标准》
- 钢丝绳课件-图文
评论
0/150
提交评论