




已阅读5页,还剩10页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
/*-【程序设计】1-功能:将两个两位数的正整数a、b合并形成一个整数放在c 中。合并的方式是: 将a数的十位和个位数依次放 在c数的个位和百位上, b数的十位和个位数依次放 在c数的十位和千位上。 例如: 当a=45,b=12, 调用该函数后, c=2514。 -*/#include stdio.h void fun(int a, int b, long *c) /*Begin*/ *c=a/10+a%10*100+b/10*10+b%10*1000; /* End */main() int a,b; long c; printf(Input a, b:); scanf(%d%d, &a, &b); fun(a, b, &c); printf(The result is: %ldn, c); NONO(); NONO ( ) FILE *rf, *wf ; int i, a,b ; long c ; rf = fopen(in.dat, r) ; wf = fopen(out.dat,w) ; for(i = 0 ; i 10 ; i+) fscanf(rf, %d,%d, &a, &b) ; fun(a, b, &c) ; fprintf(wf, a=%d,b=%d,c=%ldn, a, b, c) ; fclose(rf) ; fclose(wf) ; -【程序设计】2-功能:请编一个函数void fun(int ttMN,int ppN), tt指向一个M行N列的二维数组,求出二维数组每列 中最小元素,并依次放入pp所指一维数组中。二维 数组中的数已在主函数中赋予。-*/#include#include#define M 3#define N 4 void fun(int ttMN,int ppN) /*Begin*/ int i,j; for(j=0;jN;j+) ppj=tt0j; for(i=1;iM;i+) if(ttijppj) ppj=ttij; /* End */void NONO();main() int tMN=22,45,56,30, 19,33,45,38, 20,22,66,40; int pN,i,j,k; printf(The original data is:n); for(i=0;iM;i+) for(j=0;jN;j+) printf(%6d,tij); printf(n); fun(t,p); printf(nThe result is:n); for(k=0;kN;k+) printf(%4d,pk); printf(n); NONO();void NONO() int i,j, array34,p4; FILE *rf, *wf ; rf = fopen(in.dat, r) ; wf = fopen(out.dat, w) ; for (i=0; i 3; i+) for (j=0; j 4; j+) fscanf(rf, %d, &arrayij); fun(array,p); for (j=0; j 4; j+) fprintf(wf, %7d, pj); fprintf(wf, n); fclose(rf) ; fclose(wf) ; /*-【程序填空】1-功能:编程求任意给两个日期(Y0年M0月DO日和Y1年M1月D1日) 相差的天数。-*/main() int y1,m1,d1,y2,m2,d2,n,i; printf(y1,m1,d1=); scanf(%d,%d,%d,&y1,&m1,&d1); /*FILL*/ if(m112|d1_ mday(y1,m1)_ _) exit(0); printf(y2,m2,d2=);scanf(%d,%d,%d,&y2,&m2,&d2); /*FILL*/ if(m212|d2_ mday(y2,m2)_) exit(0); if(y1y2|y1=y2&m1m2|y1=y2&m1=m2&d1d2) n=y1; y1=y2; y2=n; n=m1; m1=m2; m2=n; n=d1; d1=d2; d2=n; else /*FILL*/ n=yend(y1,m1,d1)+_ yday(y2,m2,d2)_; /*FILL*/ for(i=_ y1+1_;i%d.%d.%d:n=%dn,y1,m1,d1,y2,m2,d2,n);int f(int y) return(y%4=0&y%100!=0|y%400=0);int mday(int y,int m) return(31-(m=4)+(m=6)+(m=9)+(m=11)-(3-f(y)*(m=2);int yday(int y,int m,int d) return(d+31*(m1)+(m3)+(m5)+(m7)+(m8)+(m10)+30*(m4)+(m6)+(m9)+(m11)+(28+f(y)*(m2);int yend(int y,int m,int d) return(365+f(y)-yday(y,m,d);/*-【程序填空】2-功能:请编写一个函数fun,将字符数组ss中字符串中所有下标为奇数位置上的字母转换为大写(若该位置上不是字母,则不转换)。-*/#include#includevoid fun(char ss)int i,d;d=strlen(ss);/*FILL*/for(i=1;i=a&ssi=z)/*FILL*/_ ssi=ssi-32_;main() char a80; printf(给字符串赋值:n); gets(a); printf(输出原字符串:n); puts(a); /*FILL*/_ fun(a)_; printf(输出原字符串:n); puts(a);/*- 【程序改错】1-功能:为一维数组输入10个整数;将其中最小的数与第一个数 对换,将最大的数与最后一个数对换,输出数组元素。-*/main() int a10; void input(); void output(); void max_min(); input(a,10); max_min(a,10); output(a,10);void input(int *arr,int n) int *p,i; p=arr; printf(please enter 10 integers:n); for(i=0;in;i+) /*ERROR*/ scanf(%d,p);void max_min(int *arr,int n) int *min,*max,*p,t; min=max=arr; for(p=arr+1;parr+n;p+) /*ERROR*/ if(*p*max) max=p; else if(*p*min) min=p; t=*arr;*arr=*min;*min=t;/*ERROR*/ if(max=arr) max=min; t=*(arr+n-1); *(arr+n-1)=*max; *max=t;void output(int *arr,int n) int *p,i; p=arr; printf(The changed array is:n); /*ERROR*/ while(i=0;in;i+) printf(%3d,*p+); printf(n);【改错1】错误【学生答案】scanf(%d,p);【参考答案】scanf(%d,p+);scanf(%d,arri);scanf(%d,p+i);scanf(%d,arr+i);=【改错2】错误【学生答案】if(*p*max)if(*max*p)=【改错3】错误【学生答案】if(max=arr) max=min;【参考答案】if(max=arr)=【改错4】错误【学生答案】while(i=0;in;i+)【参考答案】for(i=0;ii;i+)for(p=arr;parr+n;)for(i=0;i=i;i+)for(p=arr;p=p;)/*- 【程序改错】2-功能:统计出若干个学生的平均成绩,最低分以及得最低分的人数。例如:输入10名学生的成绩分别为92,87,68,56,92,84,67, 75,92,66,则输出平均成绩为77.900002,最低高分为56.000000,得最 低分的人数为1人。-*/#include float Min=0;int J=0;float fun(float array,int n) int i;float sum=0,ave; Min=array0; for(i=0;iarray i) Min=array i; /*ERROR*/ sum=+array i; /*ERROR*/ ave=sumn; for(i=0;in;i+) /*ERROR*/ if(arrayi=Min) J+; return(ave);main( ) float a10,ave; int i=0; for(i=0;i10;i+) scanf(%f,&ai); ave=fun(a,10); printf(ave=%fn,ave); printf(min=%fn,Min); printf(Total:%dn,J);【改错1】错误【学生答案】sum=+array i;【参考答案】sum+=arrayi;sum=sum+array i;=【改错2】错误【学生答案】ave=sumn;【参考答案】ave=sum/n;=【改错3】错误【学生答案】if(arrayi=Min) J+;【参考答案】if(arrayi=Min) J+;if(Min=arrayi) J+;1. 下列选项中,( D )是合法的浮点数.A、eB、0e0.C、-1e0x3D、2.12. C语言程序中,当调用函数时(B)。A、实参和虚参可以共用存储单元B、实参和虚参各占一个独立的存储单元C、计算机系统自动确定是否共用存储单元D、可以由用户指定是否共用存储单元3. 若有int w=12;,对以下程序段,描述正确的是(B).while(w=0) w=w-1;A、循环是无限循环B、循环体执行了10次C、循环体语句执行了一次D、循环体语句一次也不执行4. 合法的数组定义是(B)A、char s=string;B、int a=string;C、int a5=0,1,2,3,4,5;D、char a=0,1,2,3,4,5;5. 已知i、j、k为int型变量,若从键盘输入:1,2,3,使i的值为1、j的值为2、k的值为3,以下选项中正确的输入语句是(C)A、scanf(%d %d %d,&i,&j,&k);B、scanf(%2d%2d%2d,&i,&j,&k);C、scanf(%d,%d,%d,&i,&j,&k);D、scanf(i=%d,j=%d,k=%d,&i,&j,&k);6. 下列字符序列中,可用作C标识符的一组字符序列是(A)。A、D56,r_1_2,name,_st_1B、S.b,sum,average,_aboveC、class,day,lotus_1,2dayD、#md,&12x,month,student_n!7执行以下程序段后,输出结果和a的值是(C)。 int a=10; printf(%d,a+);A、11 和 10B、11 和 11C、10 和 11D、10 和 108. 若有int a=1,b=2,c=3;则执行下列语句后c的值为(D)。if(ac)b=a;a=c;c=b;A、不一定B、3C、1D、29. 以下对整型数组a的正确说明是:CA、int n = 10, an;B、C、D、int a(10);10. 结点插入到链表末尾的语句组是 D 。 A、s-next = NULL; p = p-next; p-next = s;B、p = p-next; s-next = p; p-next = s;C、p = (*p).next; (*s).next = (*p).next; (*p).next = s;D、p = p-next; s-next = p -next; p -next = s;11. 已知int k=67; 则表达式k/10的值为;AA、6.70B、6.7C、6D、712. C语言中while和do-while循环的主要区别是 BA、While的循环控制条件比do-while的循环控制条件严格B、do-while的循环体至少无条件执行一次C、do-while循环体不能是复合语句D、do-while允许从外部转到循环体内13. 以下能对一维数组a进行正确初始化的语句是(B)。A、int a10=10*1;B、int a=0;C、int a10=(0,0,0,0,0)D、int a10=;14. 以下标识符中,不能作为合法的C用户定义标识符的是(C)。A、_doubleB、_123C、ifD、INT15. 关于return语句,下列正确的说法是(C)。A、只能在除主函数之外的函数中出现一次B、只能在主函数中出现C、可以在同一个函数中出现多次,但是只能执行其中的一个D、必须在每个函数中出现16. 表达式,0x13&0x17的值是(A)。A、0x13B、0xecC、0x17D、0xf817. 若x,y都为二进制数,x=00000010,b=00000011则x&y的结果是(A)。A、00000010B、00000000C、00000001D、0000001118. 以下程序运行后的输出结果是 A 。#include struct NODE int num; struct NODE *next; ; main() struct NODE *p, *q, *r; int sum = 0; p = (struct NODE *)malloc(sizeof(struct NODE); q= (struct NODE *)malloc(sizeof(struct NODE); r= (struct NODE *)malloc(sizeof(struct NODE); p -num = 1; q - num = 2; r - num = 3; p - next = q; q - next = r ; r - next = NULL; sum += q - next - num; sum += p - num; printf(“%dn”, sum); A、4B、3C、5D、619. 以下对数组初始化错误的是:CA、int a23=1,2,3,4,5B、int a23=1,2,3,4;C、int 2=1,2,3,4,5,6;D、int a3=1,2,3,4,5,6;20. 以下标识符中,不能作为合法的C用户定义标识符的是(B)。A、_123B、voidC、a3_b3D、IF21. 设j和k都是int类型,则for循环语句 for(j=0,k=-1;k=1;j+,k+) printf(*n);(B)。A、循环体一次也不执行B、是无限循环C、循环结束的条件不合法D、循环体只执行一次22. 以下能对二维数组a进行正确初始化的语句是(A)。A、int a3=1,2,3,4,5,6;B、int a24=1,2,3,4,5,6;C、int a3=1,0,1,1,1;D、int a2=1,0,1,5,2,3;23. 以下语句中:当字符串s1和s2相等时,能够输出OK的是(C)A、if(strcmp(s1,s2) puts(OK);B、if(s1=s2) printf(OK);C、if(!strcmp(s1,s2) puts(OK);D、if(s10=s20) printf(OK);24. 以下数据中,不正确的数值或字符常量是(A)。A、cB、3e-5C、bD、5025. 设有说明语句:char a=72;则变量a(A)。A、包含1个字符B、包含2个字符C
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 重难点解析人教版八年级上册物理光现象《光的直线传播》专题攻克试题(含答案解析版)
- 考点攻克人教版八年级上册物理《长度和时间的测量》章节练习练习题(含答案详解)
- 市政道路综合管网项目建设工程方案
- 消防设施安装调试与验收方案
- 考点攻克人教版八年级上册物理物态变化《温度》单元测试试题(含答案解析版)
- 难点解析人教版八年级上册物理物态变化《熔化和凝固》章节练习试卷(含答案详解版)
- 起重设备安装材料采购与供应链管理方案
- 建筑电气安装调试方案
- 冻融循环下土壤水热溶质迁移规律及多场耦合模拟研究
- 基于设备群画像的铝电解系统寻优的研究
- 《血管活性药物静脉输注护理》标准解读
- 一道美丽的风景作文500字
- 个人简历模板表格式
- 现网终端问题分析报告
- 第十五章巷道与井筒施工测量
- GB/T 1864-2012颜料和体质颜料通用试验方法颜料颜色的比较
- GB/T 13384-2008机电产品包装通用技术条件
- FZ/T 07019-2021针织印染面料单位产品能源消耗限额
- 《计算机辅助翻译》课程教学大纲
- 电厂化学运行规程
- 新版香港朗文1A-6B全部单词汇总
评论
0/150
提交评论