付费下载
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1/ 122004级信息学院C语言设计考试试题一、判断下列语句或程序的对错。10 分V1 int x=y=z=O;(x)y,z 没有定义2 #inelude ;(x)不能有分号,#开头的结尾均不能有分号;3 printf(“%sn”,”c language”);(V)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 ;x)数据类型不匹配二计算下列表达式的值 10 分设 unsigned int a
2、=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) (aS)+(c1+d)( 0 x1b )(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=calcul
3、ate(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;应该直接定义为变量 floattemp;sub=a*a-b*b ;*sub=a*a-b*b;(x)五个元素,但是只有四个单元(x)数值越界(x)(V)(x)数据类型不匹配分添加函数原型声明2/ 12temp = a*a+b*b; return*temp;(2) 统计 N 个字符中大写字母和数字字符的个数#inc
4、lude #define N 5Count(char *str,int *result); 添加函数声明 main ()char stringN80;char i;int Capital_Count=0,Num_Coun=0;需要初始化为 0for(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)
5、 ;Count(char *str, int *result)int temp,I ; int temp=0 ,i ; temp 应该初始化为 0 for(I=0;I=A& strI0 |strI9)*result+;return temp;四 程序填空 10 分(答案参考书中p8586)3( 1)利用公式 sin x=x-x /3!+xx=0.5,n=20#includemain()float y,s,x,d,t;int n,I,j;scanf( “%d%”f ,&n,&x);s=1.0;return temp3/ 12for(I=2;In;I+)d=t=_ ;for
6、(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), 这个函数在 S 1 中查找子字符 串 S2 第一次出现的起始位置,并返回一个指向该位置的指针。如果S2 并没有出现在S1 的任何地方,函数返回一个 NULL 指针。如果第二个参数是一个空字符串,函
7、 数返回 S1;(答案见书中p196197)#include #include void 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=_ ; retur
8、n 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;024/ 1246(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)ma
9、x=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
10、;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 5/ 12struct 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,)leade
11、rn.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()6/ 12char *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=
12、nameb; nameb=temp ; for(a=0;an;a+)printf(%sn,namea+a);capital ndex rge ll六、 编写程序 (35 分)2(1) 求一元二次方程 ax2+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,&a
13、mp;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
14、);在此之前是书中的例题 7.19输出时应该能够识别指针及偏移情况7/ 12( 2)编写一个函数,求 s=a+aa+aaa+-+aaaaaaaaa- a,数字,例如 2+22+222+2222(此时 n=4)。主函数 a 和 n 的输入,出所求的 累加和;编写的函数完成计算。(9 分)注意:不得使用全局变量,注意程序结构(书中习题 3: 4。 16)#include#include long Cal(long a,long n); main()long sn=0; long a,n; printf(please input a n:); scanf(%d%d,&a,&n); s
15、n = 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
16、); 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 以上的女生。 要求:输入、输出、计算、排序和查找分别
17、用函数实现,主函数只是调用这些函 数。不得使用全局变量。#include #define N 5 struct Studentchar name20;int number;其中 a 是一个调用所函数和输8/ 12int 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()st
18、ruct 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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025中国投资有限责任公司校园招聘50人笔试历年典型考点题库附带答案详解
- 2026中能建绿色数字科技(庆阳)有限公司招聘备考题库及答案详解(新)
- 2026云南楚雄州姚安县职业高级中学实验室科研助理 (公益性岗位)招聘1人备考题库含答案详解(培优)
- 2026云南文山州富宁县第四批城镇公益性岗位招聘5人备考题库及答案详解(名师系列)
- 2026郴州自贸建设有限公司湖北十堰户用分布式光伏项目部劳务用工招聘6人备考题库附答案详解(夺分金卷)
- 2026河南南阳方城县光明高级中学教师招聘59人备考题库附答案详解ab卷
- 2026重庆医科大学附属第三医院招聘17人备考题库含答案详解(完整版)
- 2026云南昆明医科大学第一附属医院招聘项目制科研助理人员(第一批次)5人备考题库含答案详解(培优)
- 2026广东惠州仲恺高新区赴高校招聘编内教师50人备考题库(广州考点)含答案详解ab卷
- 2026陕西汉中市产业发展投资有限公司见习招聘3人备考题库附答案详解(黄金题型)
- 《防止电力建设工程施工安全事故三十项重点要求》宣贯与解读
- 放射性药物检验知识培训课件
- 桩基工程质量验收工作总结报告
- 矿井提升机设计技术规范详解
- 中药饮片代煎协议书
- 2025年临床检验检查项目审核制度
- 班组安全管理培训课件
- 《三体》教学课件
- 影视特效专业毕业论文
- 2025年军队专业技能岗位文职人员招聘考试(文印员)历年参考题库含答案详解(5套)
- 山东省青岛42中重点名校2026届中考英语对点突破模拟试卷含答案
评论
0/150
提交评论