新版省二题库
更新时间:2023-11-10 16:11:01 阅读量: 教育文库 文档下载
第五章 指针和结构体 程序填空
1.下面程序的功能是:利用两个指针变量将两个整型变量中的值按从大到小的顺序输出来。 请填空完善程序。 # include
{ int a=5,b=10, * pl, * p2, (1) ; Pl=&a; p2=&b; if(a
{p=p1;p1=p2; (2) ;} Prinft(“%d,%d\\n”,*p1,*p2); }
2.下面程序的功能是:当a
# include
void swap(int * pl, (1) ); int p; p=*p1; *p1=*p2; *p2=p; }
void main()
{ int a,b, * pl, * p2; printf(\
scanf(“% d% d\p1=&a; (2) ; if(a
printf(\\n\; }
3.下面程序的功能是:通过指针变量输出一维数组中的所有元素值。请填空完善程序。 # include
int a[6]={1,2,3,4,5,6},*p;
for ( (1) ;p
4.下面程序的功能是:通过调用函数max_min_ value找出一维数组中的最大值和最小值。请填空完善程序。 # include
void max_min_value(int array[ ] ,int n) { int * p;
max= min= * array;
for(p=array+1;p< (1) ;p++) if( * p>max) max=*p; else
min=* p; }
void main()
{int i,number[10], * p; p= number;
printf(\输入 10个数据 : \\n\ for(i=0;i<10;i++,p++) scanf(\; (2) ;
Max_ min_value(number,10); max_ min_value(p,10);
printf (\ }
5.下面程序的功能是:通过指向函数的指针变量来调用函数max,求得两个数中的较大者。 请填空完善程序。 # include
z=y; return z; }
void main() { int a,b,c;
int ( * p) (int,int) ;
printf(\输入 a, b 的值 :\\n\ scanf(\ (2) ; c=(*p)(a,b);
printf(\\n”,a,b,c); } 6.下面程序的功能是:通过调用函数find找到一维数组中最大元素和最小元素所在的下标, 存放在max和min变量中。请填空完善程序。 # include
void find(int* a,int n,int*max,int*min)
{
int i;
* max=* min=0;
for(i=1;i if(a[i]>a[*max]) *max=i; else if(a[i] (1) ; } void main() { int a[ ]一(5,8,7,6,2,7,3); int max, min; find(a,7, (2) ); printf(\ } 7.下面程序的功能是:通过调用inv函数把数组中的元素按逆序进行存放。请填空完善程序。 # include for(i=x,j= x+n-l;i void main() int i,a[10]= {4,5,2,23,0,1,8,9,6,3} ; printf(\原数组 : \\n\for(i= 0 ;i printf(\printf(\ (2 ) ; printf(\逆序后的数组:\n\); for(i=0;i<10;i++) printf(%-4d\,a[i]); printf(\; } 8.下面程序的功能是:求三个学生各有四门课程的总平均分,并输出第2个学生的所有成绩。请填空完善程序。 # include void average ( (1) ,int n) { int i; float sum=0; for(i=0;i printf(\平均成绩:%.2f\n\,sum/n); void search(float ( * p)[4l,int n) { int i; printf(\for(i=0;i<4;i++) printf(\ (2) ; printf(\void main() { float score[3][4]= {65,67,70,60),{80,87,90,81),{90,99,100, 98}}; average(*score, 12); search(score,2); } 9.下面程序的功能是:调用函数move将一个3×3矩阵转置。请填空完善程序。 # include { void move(int*); int a[3][3]={1,2,3,4,5,6,7,8,9),*p,i; (1) ; move(p) ; for(i=0;i<3;i++) printf (\ } void move(int * pointer) { int i,j,t; for(i=0;i<3;i++) for(j=i;j<3;i++) { t= * (pointer+3 * i+j) ; (2) ; * (pointer+3 * j+i) =t; } } 10.下面程序的功能是:不用字符串复制函数strcpy,把a数组中的字符串复制到b数组中。 请填空完善程序。 # include { char a[ ]= \ char* pl=a,*p2=b; while ( (1) !=`o`’) { * p2-= * pl; Pl++; (2 ) ; } * p2=`\\0`; printf(\ } 11.下面程序的功能是:定义一个字符串比较函数,比较从键盘输入的两个字符串。请填空完善程序。 # include int mystrcrmp(char * sl, char * s2) { int c; while((c= *sl- *s2) = =0 -&& (i) ) {s1++; (2) ;} returrn(c); } void main() { char a[80l,b[80l; int k: gets(a); gets(b); k= mvstrcmp(a,b); if(k>o) printf(\ large!\n\ else if(k<0)printf(\\n\ else printf(\ \\ii\ } 1 2.下面程序的功能是:通过调用函数pt将字符串“Hello”反向显示出来。请填空完善程序。 # include \void pt(char * string) { int i,len=0; char * str= string; while( (1) ) {len++;str++;} for(i=len-l; (2) ;i--) putchar(string[i]) ; printf(\} void main(') { pt(\;) 13.下面程序的功能是:输出指针数组各元素指向的字符串。请填空完善程序。 # include { char*aL[ ]={\ language\char (1) ; p= a ; for(j=0;j<4,j++) printf(\, (2) ; } 14.下面程序的功能是:输出指针数组各元素所指向的整数值。 # include int a[5]= {1,3,5,7,9}; int* num[5]; int * * p; for(i=0;i<5;i++) num[ i]一&a[ i] ; (1) ; for(i=0; (2) ;i++) { printf(\,* * p); p++; } } 15.下面程序的功能是:将一整型数组各元素的地址存放在指针数组中,并按元素值由小到大的顺序对指针数组中的地址排序,即第一个元素存放最小整型元素的地址,第二个元素存放第二小整型元素的地址,依此类推。请填空完善程序。 # include int a[5]={1,5,3,9,7}; int* p[5],*temp; int k,i,j; for(i=0;i<5;i++) { p[i]= (l) ; } for(i=0;i<4;i++) /*选择法排序*/ { k=i; for(j=i+1;j<5;j++) if( (2) )k=j; if(k!=i) {temp—p[i];p[i]一p[k];p[k]=temp;} } for(i=0;i<5;i++) printf(\ } 16.下面程序的功能是:把“FORTRAN”,“BASIC”,“C++”,“VB”,“C”五个字串的首地址存放到一个指针数组,并按字符串由小到大的顺序对数组中的元素排序,即第一个元素存放 最小字符串的地址,第二个元素存放第二小的字符串的地址,依此类推。请填空完善程序。 # include {char* c[ ]={ \ int i,j,k; char (1) ; for(i=0;i<4;i++) { k=i; for(j=i+1;j<5;j++) if( (2) >0)k=j; if(k!=i) {temp—c[i];c[i]一c[k];c[k]一temp;} } for(i=0;i<5;i++) printf(\; } 17.下面程序的功能是:为结构体变量pw赋值,然后输出结构体变量pw中的内容。请填空完善程序。 # include char arr[20]; }; void main() pw. i=1001; strcpy( pw. arr , \张三\ printf(\ (2) ”,pw.i,pw. arr); } 18.下面程序的功能是:定义学生成绩结构体,包含姓名和成绩。在主函数中定义结构体数组并赋初值,在结构体数组中查找并输出分数最高和最低的同学姓名和成绩。请填空完善程序。 # include char name[10]; float score; }; void main() { int max,min,i; struct student stud[5]一{\张东\,98,\赵峰\,66,\孙虎\,89,\朱旭\,75.\尹君\,85}; max= min=0; for(i=0;i<5;i++) { if(stud[il. score>stud[maxl. score) max-=i; else if(stud[il. score (1) ; } print~(\ score) ; printf(\ (2) ; 19.下面程序的功能是:调用函数fun统计结构体数组中所有性别(sex)为M的记录的个数,存入变量n中,并作为函数值返回。请填空完善程序。 # include char nam[10] ; char sex; } SS; int fun ( (1) person[ ] ) {int I,n=0; For(i=0;i Void main( ) {SSW[N]={{1, \?F?},{1, \?M?},{1, \?M?}, int n; n=fun(W); printf(\} 20.下面程序的功能是:将数组s中字符串的所有空格字符删去。请填空完善程序。 #include {char s[ ] \Char*p1,*p2; For(p1=p2=s;*p1!=?\\0?;p1++) If( (1) ) *p2++=*p1; (2) ; printf(\,s); } 21.下面程序的功能是:将一个字符串中下标为m的字符开始的全部字符复制成为另一 个字符串。请填空完善程序。 # include void strcopy( char * strl , char*str2,int m) { (1) (2) p2=str2; while(*p1) (3) *p2=?\\0?;} void main ( ) { int m; char strl [80],str2[80]; gets(strl); scanf(\(4) Puts(strl);puts(str2); } 5.3 程序改错 注意:不可以增加或删除程序行,也不可以更改程序的结构。 l'下面程序的功能是:用指针变量存放两个整变量的地址,并通过指针变量把整型变量中的 值输出来:请改正程序中的错误,使它能运行出正确的结果。 # include int a,b; /********* *FOUN D**********/ int pl,*p2; a=10; b=20 /********* *FOUN D**********/ Pl=&a;p2=b; Printf(\} 2.下面程序的功能是:随意输入两个整数,用间接访问的方式,将两个数按由小到大的顺序输出。请改正程序中的错误,使它能运行出正确的结果。 # include int a,b; int* pl,*p2,*p; scanf(\ /**********FOUND**********/ Pl=&a;p2=b); if(a>b) j { p=pl; pl=p2; p2=p; } /********** FOUND-x*********/ printf(\\n\} 3.下面程序的功能是:通过调用函数swap,把数组元素a[0]和a[l]的值互换。请改正程序中的错误,使它能运行出正确的结果。 # include /********** FOUND*********/ void swap(int* pl,*p2) { int t: t=*p1; *p1=*p2; *p2=p; } void main( { int a[6]={1,2,3,4,5,6}; /**********FOUNDx*********/ swap(a[0],a[1]); printf(\\n\ } 4.下面程序的功能是:找出二维数组所有元素中的最大值输出。请改正程序中的错误,使它 能运行出正确的结果。 # include int a[3l[4]= {1,2,3,4,5,6,7,8,9,10,11,12} ; /* * * * * * * * * FOUND* ************/ int p; int max; max=a[0][0]; for(p=&a[0][0] ;p<&a[0][0]+12;p++) /* * * * * * * * * FOUND* ************/
正在阅读:
新版省二题库11-10
丰胸的有效方法 成就傲人美胸03-12
一类模糊环境下的单机排序模型05-28
七数培优竞赛讲座第13讲 一次方程组06-01
UART实验程序解析12-03
第205-13
CO月结步骤03-11
盏西镇中心寄宿制小学学生宿舍管理制度108-28
气相色谱的使用经验和色谱柱的选择10-14
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 题库
- 新版
- 八年级英语下册Unit5 Topic1 SectionB说课稿
- 计算机基础考试4
- 2014教育政策法规课后案例分析整理
- 关于初中数学教学创设情境的几点体会
- 神经外科考研考博打印版本
- 常见违规行为的审计定性和处理处罚依据
- 20XX年10月下半年县经济工作计划
- 山西省2013年度三好学生、优秀学生干部
- 默写测试用最新牛津译林版高中英语模块三词汇表
- 中国共产党自成立以来一共经历了哪些挫折
- 理工科院校公共艺术教育中“科学与艺术结合”的创新与应用
- 航空简史
- 应急准备与响应预案
- 第一学期前半期九年级组工作总结
- 2013刘姓宝宝取名大全
- 运动生物化学复习
- 中考百日誓词集锦
- 涉及港澳台用语规范34条
- 国外零售企业自有品牌的发展历程与特点
- 123成本会计习题及答案详解