ImageVerifierCode 换一换
格式:PPT , 页数:28 ,大小:2.01MB ,
资源ID:6348754      下载积分:10 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.docduoduo.com/d-6348754.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(河南理工大学C语言课后习题答案精解第六章.ppt)为本站会员(myk79025)主动上传,道客多多仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知道客多多(发送邮件至docduoduo@163.com或直接QQ联系客服),我们立即给予删除!

河南理工大学C语言课后习题答案精解第六章.ppt

1、,选择题 (1) C语言中一维数组的定义方式为:类型说明符 数组名 A. 整型常量 B. 整型表达式 C. 整型常量或整型常量表达式 D. 变量表达式 (2) C语言中引用数组元素时,下标表达式的类型为 。 A.单精度型 B.双精度型 C.整型 D.指针型 (3) 若有说明 “int a34;”,则对a数组元素的非法引用是 A. a03*1 B. a23 C. a1+10 D. a04,第六章 数组,C,C,D,1. 选择题 (4)若有说明 “int a 3=1,2,3,4,5,6,7,8,9;”,则a数组第一维的大小是A. 1 B.2 C. 3 D. 4(5)若有以下定义“int a =1,

2、2,3,4,5,6,7,8,9;”,则值为5的表达式是 A. a5 B.aa4 C. aa3 D. aa5,第六章 数组,C,C,a4,1. 选择题 (6) 要求定义包含8个int类型元素的一维数组,以下错误的定义语句是,第六章 数组,A. int N=8;int aN;,B. #define N 3int a2*N+2;,C. int a =0,1,2,3,4,5,6,7,D. int a1+7=0,(7) 若二维数组a有m列,则在a i j 前的元素个数是 A. i*m+j B. j*m+i C. i*m+i-1 D. i*m+j+1,(8) 下面是对数组a的初始化,其中不正确的是A. c

3、har s5=“abc” B. char s5=a, b, c;C. char s5=“”; D. char s5=“abcdef”;,A,A,D,1. 选择题 (9) 下面程序段的运行结果是char c =“tv0willn”;printf(“%d”,strlen(c);A. 14 B. 3 C.9D. 字符串中有非法字符,输出值不确定 (10) 判断字符串s1是否等于字符串s2,应当使用A. if(s1=s2) B. if(s1=s2)C. if(strcpy(s1,s2) D. if(strcmp(s1,s2)=0),第六章 数组,B,D,2. 写出程序的运行结果 (1) 程序一:mai

4、n( ) int a33=1,3,5,7,9,11,13,15,17;int sum=0,i,j;for(i=0;i3;i+)for(j=0;j3;j+) a i j =i+j;if(i=j) sum=sum+a i j ;printf(“sum=%d”,sum);,第六章 数组,sum=6,2. 写出程序的运行结果 (2) 程序二:main( ) int i,j,row,col,max;int a34=1,2,3,4,9,8,7,6,-1,-2,0,5;max=a00; row=0; col=0;for(i=0; imax) max=aij;row=i;col=j;printf(“max=%

5、d, row=%d, col=%dn”,max,row,col);,第六章 数组,max=9 row=1 col=0,2. 写出程序的运行结果 (3) 程序三:main( ) int a44, i, j, k;for(i=0; i4; i+)for(j=0; j4; j+)a i j =i-j;for(i=0;i4; i+) for(j=0; j=i; j+)printf(“%4d”,a i j );printf(“n”);,第六章 数组,0 1 0 2 1 0 3 2 1 0,2. 写出程序的运行结果 (4) 程序四:#include main( ) int i, s;char s1100,

6、 s2100;printf(“input string1:n”);gets(s1);printf(“input string2:n”);gets(s2);i=0;while(s1i=s2i) ,第六章 数组,s=-5,输入数据: aidand,i的ASCII码为105 n的ASCII码为110,3. 程序填空 (1) 用“两路合并法”把两个已按升序排列的数组合并成一个升序数组,第六章 数组,main( ) int a4=15,34,48,98int b5=12,32,55,67,78;int c10;int i, j, k;while(i4 ,a 15 34 48 98 b 12 32 55

7、67 78 c,12,15,32,34,48,55,67,78,98,i=0,j=0,k=0;,i4,j5,3. 程序填空 (2)求能整除k且是偶数的数,把这些数保存在数组中,并按从大到小 输出。,第六章 数组,#include #include main() int i,j=0,k,a100;scanf (“%d“, ,i=2,&,j-1,3. 程序填空 (3)把一个整数转换成字符串,并倒序保存在字符数组s中。例如:当n=123时,s=“321”。,第六章 数组,#include #define M 80 void main() long int n=1234567;char sM;int

8、j=0;while ( )sj= ;n/=10;j+;printf(“n%s“,s); ,n!=0,n%10+0,sj=0,3. 程序填空 (4)找出三个字符串中的最大者#include main( ) char str20,s320;int i;for(i=0; i0) strcpy(str,s0);else strcpy( );if(strcmp( )0) strcpy(str,s2);printf(“The longest string is: n%sn”,str);,第六章 数组,s0,s1,str,s1,s2,str,4. 改错题:每个/*found*/下面的语句中都有一处错误,请将

9、错误的地方改正。注意:不得增行或删行,也不得更改程序的结构。 (1) 读入一个英文文本行,将其中每个单词的第一个字母改成大写,然后输出此文本行(这里的“单词”是指由空格隔开的字符串。,第六章 数组,#include #include #include main() char str81;int i=0,j,n;gets(str);/*found*/n=stringlen(str);for(j=0;jn;j+)if(i) /*found*/if(si= ) i=0;else /*found*/if(strj!= “ “); i=1;strj=toupper(strj);printf(“nAfte

10、r changing:n %sn“,str); ,if(strj= ) i=0;,n=strlen(str),if(strj!= ),4. 改错题: (2) 利用插入法排序对字符串中的字符按从小到大的顺序进行。插入法的基本算法是:先对字符串中的头两个元素进行排序;然后把第三个字符插入到前两个字符中,插入后前三个字符依然有序gmf把第四个字符插入到前三个字符中以此类推。,第六章 数组,#include #include #define N 100 void main() int i,j,n;char strN=“asdfsdfsdf“,ch;n=strlen(str);for(i=1;i=0)|

11、(chstrj) strj+1=strj;j-;strj+1=ch;printf(“The string after sorting : %snn“,str); ,| &,ch=stri;,4. 改错题: (3) 计算一个字符串中包含指定子字符串的数目.,第六章 数组,#include #include #define M 80 void main() char s1M,s2M;int num,i,j=0;gets(s1); /*输入字符串*/gets(s2); /*输入子字符串*/num=0;/*found*/for(i=0;s1i0;i+) if(s2j=s1i) j+;if(s2j=0)

12、 num+;/*found*/j=i;printf(“nThe result is : m=%dn“,num); ,j=0;, !=,4. 改错题: (4) 将大于整数m且紧靠m的k个素数存入数组xx。例如,若输入17(m),5(k),则应输出19,23,29,31,37.,第六章 数组,#include void main() /*found*/int m,k,xx100,cnt,i;scanf(“%d%d“, ,if(!(m%i)break;,cnt cnt=0;,i=cnt icnt;,5. 编程题 (1)随机产生12个515之间的整数放入一维数组中,然后将这些数输出,每行输出四个数.,

13、第六章 数组,#include #include #include main() int a12,count=0,i;srand( time( NULL ) );for (i=0;i12;i+)ai=5+rand()%10;for(i=0;i12;i+)printf(“%5d“,ai);count+;if(count%4=0)printf(“n“) ;,4. 编程题 (2)用数组求一组数中的最大值、最小值和平均值,并求有多少个数超过平均值。,第六章 数组,main() int a5=2,23,43,77,33;int max,min,i;long sum=0L;int count=0;floa

14、t av;max=min=a0;for(i=0;imax)max=ai;if(aiav)count+;printf(“max:%dnmin:%dnav:%fncount:%d“,max,min,av,count); ,求出最大值、最小值及累加和,定义数组并初始化,#include main() int i,j,n=0;float a5,max,min,t,aver,sum=0;printf(“ninput 5 numbers:n“);for(i=0;iai+1)t=ai;ai=ai+1;ai+1=t;max=a4;min=a0;for(i=0;iaver)n+;printf(“max=%f,m

15、in=%f,aver=%f,n=%d“,max,min,aver,n); ,冒泡排序法,4. 编程题 (3)输入一个班30个学生的成绩:统计各分数段059, 6069, 7079, 8089, 90100的人数分别统计在60, 70, 80, 90以上的人数,第六章 数组,#include main() int i,b=0,j=0,z=0,l=0,y=0;float a30;printf(“请输入成绩:n“);for(i=0;i100) printf(“error“);printf(“n请重新输入该位同学成绩:n“);i-;for(i=0;i30;i+) if(ai60) b+;else if

16、(ai70) j+;else if(ai80) z+;else if(ai90) l+;else y+;printf(“0到59分%d人,60到69分%d人,70到79分%d人,80到89分%d人,90到100分%d人“,b,j,z,l,y);printf(“60分以%人,70分以上%d人,80分以上%d人,90分以上%d人“,j+z+l+y,z+l+y,l+y,y); ,#include void main() int i=0,a=0,b=0,c=0,d=0,e=0;float s30;printf(“please enter 30 numbers:“);for(;i30;i+) scanf

17、(“%f“, ,#include void main() int i,score30,count90=0,count80=0,count70=0,count60=0;for(i=0;i=90) count90+;count80+;count70+;count60+;else if(scorei=80)count80+;count70+;count60+;else if(scorei=70)count70+;count60+;else if(scorei=60)count60+;printf(“ 060:%dn 6070:%dn 7080:%dn 8090:%dn 90100:%dn“,30-c

18、ount60,count60-count70,count70-count80,count80-count90,count90);printf(“60 and more:%dn 70 and more:%dn 80 and more:%dn 90 and more:%dn“,count60,count70,count80,count90); ,4. 编程题 (3)输入一个班30个学生的成绩:统计各分数段060, 6070, 7080, 8090, 90100的人数分别统计在60, 70, 80, 90以上的人数,第六章 数组,#include void main( ) int score30,

19、level5, i;printf(“Input scores:”);for(i=0; i30; i+)scanf(“%d”, ,printf(“060的人数为%dn”, level0);printf(“6070的人数为%dn”,level1);printf(“7080的人数为%dn”,level2);printf(“8090的人数为%dn”,level3);printf(“90100的人数为%dn”,level4);printf(“60以上的人数为%dn”, level1+level2+level3+level4);printf(“70以上的人数为%dn”, level2+level3+lev

20、el4);printf(“80以上的人数为%dn”, level3+level4);printf(“90以上的人数为%dn”,level4); ,4. 编程题 (4)打印以下图形,分别用一维数组和二维数组两种方法实现,第六章 数组,一维数组: main( ) char a5=*, *, *, *, *, *;int row=1, col;for(; row=5; row+) for(col=1; col=row; col+) printf(“ ”);for(col=1; col5; col+) printf(“%c”,acol);printf(“n”); ,4. 编程题 (4)打印以下图形,分

21、别用一维数组和二维数组两种方法实现,第六章 数组,二维数组: main( ) char star59=“* ”,“ * ”,“ * ”,“ * ”,“ *”;printf(“%sn%sn%sn%sn%sn”,star0,star1,star2,star3); ,4. 编程题 (5)对NN 矩阵,以主对角线为对称线,将对称元素相加并将结果存放在正三角元素中,右上三角元素置0。例如,若N=4,有有下列矩阵,第六章 数组,#include #define N 4 void fun(int aNN) int m,n;for(m=0;mN;m+)for(n=m+1;nN;n+)anm+=amn;amn=0; ,void main() int xNN=21,12,13,24,25,16,47,38,29,11,32,54,42,21,33,10,i,j;fun(x);for(i=0;iN;i+) for(j=0;jN;j+)printf(“%3d“,xij);printf(“n“); ,

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报