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

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

选择题 1 C语言中一维数组的定义方式为 类型说明符数组名A 整型常量 B 整型表达式 C 整型常量 或 整型常量表达式 D 变量表达式 2 C语言中引用数组元素时 下标表达式的类型为 A 单精度型B 双精度型C 整型D 指针型 3 若有说明 inta 3 4 则对a数组元素的非法引用是A a 0 3 1 B a 2 3 C a 1 1 0 D a 0 4 第六章数组 C C D 1 选择题 4 若有说明 inta 3 1 2 3 4 5 6 7 8 9 则a数组第一维的大小是A 1B 2C 3D 4 5 若有以下定义 inta 1 2 3 4 5 6 7 8 9 则值为5的表达式是A a 5 B a a 4 C a a 3 D a a 5 第六章数组 C C a 4 1 选择题 6 要求定义包含8个int类型元素的一维数组 以下错误的定义语句是 第六章数组 A intN 8 inta N B defineN3inta 2 N 2 C inta 0 1 2 3 4 5 6 7 D inta 1 7 0 7 若二维数组a有m列 则在a i j 前的元素个数是A i m jB j m iC i m i 1D i m j 1 8 下面是对数组a的初始化 其中不正确的是A chars 5 abc B chars 5 a b c C chars 5 D chars 5 abcdef A A D 1 选择题 9 下面程序段的运行结果是charc t v 0will n printf d strlen c A 14B 3C 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 程序一 main inta 3 3 1 3 5 7 9 11 13 15 17 intsum 0 i j for i 0 i 3 i for j 0 j 3 j a i j i j if i j sum sum a i j printf sum d sum 第六章数组 sum 6 2 写出程序的运行结果 2 程序二 main inti j row col max inta 3 4 1 2 3 4 9 8 7 6 1 2 0 5 max a 0 0 row 0 col 0 for i 0 imax max a i j row i col j printf max d row d col d n max row col 第六章数组 max 9row 1col 0 2 写出程序的运行结果 3 程序三 main inta 4 4 i j k for i 0 i 4 i for j 0 j 4 j a i j i j for i 0 i 4 i for j 0 j i j printf 4d a i j printf n 第六章数组 0102103210 2 写出程序的运行结果 4 程序四 includemain inti s chars1 100 s2 100 printf string1 n gets s1 printf string2 n gets s2 i 0 while s1 i s2 i 第六章数组 s 5 输入数据 aidand i的ASCII码为105n的ASCII码为110 3 程序填空 1 用 两路合并法 把两个已按升序排列的数组合并成一个升序数组 第六章数组 main inta 4 15 34 48 98 intb 5 12 32 55 67 78 intc 10 inti j k while i 4 a15344898b1232556778c 12 15 32 34 48 55 67 78 98 i 0 j 0 k 0 i 4 j 5 3 程序填空 2 求能整除k且是偶数的数 把这些数保存在数组中 并按从大到小输出 第六章数组 include includemain inti j 0 k a 100 scanf d i 2 j 1 3 程序填空 3 把一个整数转换成字符串 并倒序保存在字符数组s中 例如 当n 123时 s 321 第六章数组 include defineM80voidmain longintn 1234567 chars M intj 0 while s j n 10 j printf n s s n 0 n 10 0 s j 0 3 程序填空 4 找出三个字符串中的最大者 includemain charstr 20 s 3 20 inti for i 0 i0 strcpy str s 0 elsestrcpy if strcmp 0 strcpy str s 2 printf Thelongeststringis n s n str 第六章数组 s 0 s 1 str s 1 s 2 str 4 改错题 每个 found 下面的语句中都有一处错误 请将错误的地方改正 注意 不得增行或删行 也不得更改程序的结构 1 读入一个英文文本行 将其中每个单词的第一个字母改成大写 然后输出此文本行 这里的 单词 是指由空格隔开的字符串 第六章数组 include include includemain charstr 81 inti 0 j n gets str found n stringlen str for j 0 j n j if i found if s i i 0 else found if str j i 1 str j toupper str j printf nAfterchanging n s n str if str j i 0 n strlen str if str j 4 改错题 2 利用插入法排序对字符串中的字符按从小到大的顺序进行 插入法的基本算法是 先对字符串中的头两个元素进行排序 然后把第三个字符插入到前两个字符中 插入后前三个字符依然有序gmf把第四个字符插入到前三个字符中以此类推 第六章数组 include include defineN100voidmain inti j n charstr N asdfsdfsdf ch n strlen str for i 1 i 0 ch str j str j 1 str j j str j 1 ch printf Thestringaftersorting s n n str ch str i 4 改错题 3 计算一个字符串中包含指定子字符串的数目 第六章数组 include include defineM80voidmain chars1 M s2 M intnum i j 0 gets s1 输入字符串 gets s2 输入子字符串 num 0 found for i 0 s1 i 0 i if s2 j s1 i j if s2 j 0 num found j i printf nTheresultis m d n num j 0 4 改错题 4 将大于整数m且紧靠m的k个素数存入数组xx 例如 若输入17 m 5 k 则应输出19 23 29 31 37 第六章数组 includevoidmain found intm k xx 100 cnt i scanf d d if m i break cnt cnt 0 i cnt i cnt 5 编程题 1 随机产生12个5 15之间的整数放入一维数组中 然后将这些数输出 每行输出四个数 第六章数组 include include includemain inta 12 count 0 i srand time NULL for i 0 i 12 i a i 5 rand 10 for i 0 i 12 i printf 5d a i count if count 4 0 printf n 4 编程题 2 用数组求一组数中的最大值 最小值和平均值 并求有多少个数超过平均值 第六章数组 main inta 5 2 23 43 77 33 intmax min i longsum 0L intcount 0 floatav max min a 0 for i 0 imax max a i if a i av count printf max d nmin d nav f ncount d max min av count 求出最大值 最小值及累加和 定义数组并初始化 includemain inti j n 0 floata 5 max min t aver sum 0 printf n5numbers n for i 0 ia i 1 t a i a i a i 1 a i 1 t max a 4 min a 0 for i 0 iaver n printf max f min f aver f n d max min aver n 冒泡排序法 4 编程题 3 输入一个班30个学生的成绩 统计各分数段0 59 60 69 70 79 80 89 90 100的人数 分别统计在60 70 80 90以上的人数 第六章数组 includemain inti b 0 j 0 z 0 l 0 y 0 floata 30 printf 请输入成绩 n for i 0 i100 printf error printf n请重新输入该位同学成绩 n i for i 0 i 30 i if a i 60 b elseif a i 70 j elseif a i 80 z elseif a i 90 l elsey 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 includevoidmain inti 0 a 0 b 0 c 0 d 0 e 0 floats 30 printf pleaseenter30numbers for i 30 i scanf f includevoidmain inti score 30 count90 0 count80 0 count70 0 count60 0 for i 0 i 90 count90 count80 count70 count60 elseif score i 80 count80 count70 count60 elseif score i 70 count70 count60 elseif score i 60 count60 printf 0 60 d n60 70 d n70 80 d n80 90 d n90 100 d n 30 count60 count60 count70 count70 count80 count80 count90 count90 printf 60andmore d n70andmore d n80andmore d n90andmore d n count60 count70 count80 count90 4 编程题 3 输入一个班30个学生的成绩 统计各分数段0 60 60 70 70 80 80 90 90 100的人数 分别统计在60 70 80 90以上的人数 第六章数组 includevoidmain intscore 30 level 5 i printf scores for i 0 i 30 i scanf d printf 0 60的人数为 d n level 0 printf 60 70的人数为 d n level 1 printf 70 80的人数为 d n level 2 printf 80 90的人数为 d n level 3 printf 90 100的人数为 d n level 4 printf 60以上的人数为 d n level 1 level 2 level 3 level 4 printf 70以上的人数为 d n level 2 level 3 level 4 printf 80以上的人数为 d n level 3 level 4 printf 90以上的人数为 d n level 4 4 编程题 4 打印以下图形 分别用一维数组和二维数组两种方法实现 第六章数组 一维数组 main chara 5 introw 1 col for row 5 row for col 1 col row col printf for col 1 col 5 col printf c a col printf n 4 编程题 4 打印以下图形 分别用一维数组和二维数组两种方法实现 第六章数组 二维数组 main charstar 5 9 printf s n s n s n s n s n star 0 star 1 star 2 star 3 4 编程题 5 对N N矩阵 以主对角线为对称线 将对称元素相加并将结果存放在正三角元素中 右上三角元素置0 例如 若N 4 有有下列矩阵 第六章数组 include defineN4voidfun inta N N intm n for m 0 m N m for n m 1 n N n a n m a m n a m n 0 voidmain intx N N 21 12 13 24 25 16 47 38 29 11 32 54 42 21 33 10 i j fun x for i 0 i N i for j 0 j N j printf 3d x i j printf n

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值