《数组编程习题解答》PPT课件.ppt

上传人:tia****nde 文档编号:6393425 上传时间:2020-02-24 格式:PPT 页数:60 大小:544.50KB
返回 下载 相关 举报
《数组编程习题解答》PPT课件.ppt_第1页
第1页 / 共60页
《数组编程习题解答》PPT课件.ppt_第2页
第2页 / 共60页
《数组编程习题解答》PPT课件.ppt_第3页
第3页 / 共60页
点击查看更多>>
资源描述
数组编程讲解 2 求一个3 3的整型矩阵对角线之和 对角线元素怎样描述 intsum 0 i a 3 3 for i 0 i 3 i sum sum a i i a i i printf 对角线之和 6d sum 3 输入一个数 将其插入到一个已排好序的数组中 使得原数组依然按原序有序 main inta 10 5 12 39 60 i x scanf d 4 将一个数组中的值按逆序存放 0 1 2 3 4 5 6 7 8 9 原序 逆序 for i 0 i 10 2 i temp a i a i a n 1 i a n 1 i temp n为数组元素的个数 5 有一篇文章 有三行文字 每行有80个字符 要求统计出其中英文大写字母 小写字母 数字 空格以及其他字符的个数 三行文字的存放方式 二维字符数组 ch 3 80 各类字符的个数变量 大写英文字母的个数 uppercase小写英文字母的个数 small letter数字个数 digit空格个数 blank其他字符个数 others 处理方式 for i 0 i A 6 打印以下图案 0 for i 0 i 5 i for j 0 j i j putchar puts ch putchar n a p p l e ch1 0 a p p l e ch2 0 charch1 80 ch2 80 inti for i 0 i 80 i ch2 i gets ch1 i 0 do ch2 i ch1 i while ch1 i 7 字符串复制 习题 1 将10个整数放到一维数组中 并按从大到小排序 定义一个一维整数数组 chara 10 printf 请输入10个整数 n for i 0 i 10 i scanf d 输入10个整数 对数组a进行排序 因题目未指定排序方法 所以 可以使用任何方法排序 对数组a进行排序 选择法 for i 0 ia p p j if p i med a i a i a p a p med 程序 for i 0 ia p p j if p i med a i a i a p a p med for i 0 i n i printf 6d a i printf n include definen10voidmain inta n i j p med printf pleaseinput printf dintegers n for i 0 i n i scanf d 2 将20个整数放到一维数组中 输出该数组中的最大值和最小值 定义一个一维整数数组 chara 20 printf 请输入20个整数 n for i 0 i 20 i scanf d 输入20个整数 找出数组a中的最大值和最小值 找出数组a中的最大值和最小值 设 max中存放最后找到的最大值 min中存放最后找到的最小值 不妨设 max a 0 min a 0 for i 0 imax max a i elseif a i min min a i include definen20voidmain inta n i max min printf pleaseinput printf dintegers n for i 0 imax max a i elseif a i min min a i printf thelargestnumberis 6d n max printf theleastnumberis 6d n min 3 将15个整数放到一维数组中 输出该数组中的最大值它的下标 然后将它和数组中的最前面的元素对换 1 定义一个一维整数数组 chara 15 printf 请输入15个整数 n for i 0 i 15 i scanf d 2 输入15个整数 3 找出数组a中的最大值和它的下标 3 找出数组a中的最大值和它的下标 设 max中存放最后找到的最大值 k中存放最后找到的最大值的下标 不妨设 max a 0 k 0 for i 0 imax max a i k i 4 数组a中的最大值和第一个数组元素交换 用temp作为临时变量交换语句为 temp a k a k a 0 a 0 temp include definen15voidmain inta n i max k printf pleaseinput printf dintegers n for i 0 imax max a i k i a k a 0 a 0 max printf thelargestnumberis 6d n max printf thelargestnumber sorderis 6d n k 4 将一维数组中的数逆序存放 不使用辅助数组 definen10定义一个一维整数数组 chara n printf 请输入 d个整数 n n for i 0 i n i scanf d 输入n个整数 将一维数组中的数逆序存放 a i a a temp 方法 将数组a中正数和倒数位置对应相同的元素对调 正数第1个和倒数第1个 正数第2个和倒数第2个 正数第i个和倒数第i个 i的最后一个值是什么 将一维数组中的数逆序存放 n 2 for i 0 i n 2 i n i 1 n i 1 temp a i include definen10voidmain inta n i temp printf pleaseinput printf dintegers n for i 0 i n i scanf d 5 有一封信共有3行 每行20个字符 统计其中有多少英文大写字母 多少英文小写字母 多少数字字符 多少空格 定义一个字符数组 charstr 30 printf 请输入一行字符 n gets str 输入一行字符 对字符数组中的字符进行统计 3 对字符数组中的字符进行统计 for i 0 str i 0 i if str i A 完整程序 include includevoidmain inti j uplet 0 digit 0 space 0 lowlet 0 charstr 30 printf 现在开始统计 n for j 0 j 3 j printf 请输入第 d行字符 n j 1 gets str for i 0 str i 0 i if str i A 6 将字符数组str1中下标为偶数的元素赋给另一字符数组str2 并输出str1和str2 定义两个字符数组 charstr1 30 str2 30 printf 请输入一行字符 n gets str1 输入一行字符到str1中 对字符数组中的进行复制 3 对字符数组中的字符进行复制 for i 0 j 0 str i 0 i if i 2 0 str2 j str1 i j 完整程序 include includevoidmain inti j charstr1 30 str2 30 printf 请输入一行字符 n gets str1 for i 0 j 0 str1 i 0 i if i 2 0 str2 j str1 i j str2 j 0 printf 复制之前 s n n str1 printf 复制之后 s n n str2 7 有5个国家名 要求按字母先后顺序排列 并按序输出 定义一个二维字符数组 charstr1 5 10 for i 0 i 5 i printf 请输入一行字符 n gets str1 i 输入5行字符到str1中 对字符数组中的字符串进行排序 3 对字符数组中的字符串进行排序 for i 0 i 4 i for j 0 j0 strcpy temp str1 j strcpy str1 j str1 j 1 strcpy str j 1 temp include includevoidmain inti j charstr1 5 10 temp 10 for i 0 i0 strcpy temp str1 j strcpy str1 j str1 j 1 strcpy str1 j 1 temp printf 排序之后 n n for i 0 i 5 i puts str1 i 8 有一行文字 要求删去某个字符 此行文字和要删的字符均由键盘输入 定义一个一维字符数组 charstr 80 c printf 请输入一行字符 n gets str Scanf c 输入一行字符到str中 待删去的字符到c中 对字符数组中的字符进行处理 3 对字符数组中的字符进行处理 for i 0 str1 i 0 i if str1 i c break for j i 1 str1 j 0 j str1 j 1 str1 j str1 j 1 str1 j include includevoidmain inti j flag 1 charstr 80 c printf 请输入一行字符 n gets str printf 请输入要删出的字符 n scanf c 9 打印出杨辉三角 要求打印出n行 n由键盘输入 定义一个一维整数数组 inta 80 n printf 请输入杨辉三角的行数 n scanf d 输入n值到n中 对数组a中的元素进行计算产生杨辉三角的每一行 并输出 3 对数组a中的元素进行计算产生杨辉三角的每一行 并输出 for i 2 i n i a i 1 1 a j a j 1 a j a 0 1 printf 6d n a 0 a 1 1 printf 6d 6d n a 0 a 1 for j i j 1 j include includevoidmain inti j a 80 m printf 请输入杨辉三角的行数 n scanf d 10 N只猴子选大王 选举方法如下 所有猴子按1 2 3 N编号围坐一圈 从第1个猴子开始报数 报到M号退出圈外 如此循环报数 直到圈内只剩下一个猴子 即为大王 编程输出大王的原始序号 N和M的值由键盘输入 如果你想成为剩下的那一个 在N一定的情况下 你应该站在什么位置上 definen100定义一个一维整数数组 inta n m printf 将猴子的编号送入相应位置的数组中 for i 0 i n i a i i 1 为数组赋值 对数组a中的元素进行处理 解决问题 3 对数组a中的元素进行处理 for i 1 i m i if a j 0 j j 1 n j j n printf d号猴子出列 n j 1 a j 0 k j 0 k n 现在 圈中还剩下的猴子个数 while k 1 圈中还剩下两个以上的猴子 include includevoidmain inti j a 100 m n k printf 请输入猴子的个数 n scanf d while i m while a j 0 j j 1 n i j j 1 n while a j 0 j j 1 n printf d号猴子出列 n a j a j 0 k for i 0 i n i if a i printf 最后的大王为 6d号猴子 n a i 11 编写一个程序 将两个字符串连接起来 不要使用strcat函数 定义三个一维字符数组 charstr1 80 str2 20 printf 请输入一行字符到str1中 n gets str1 printf 请输入另一行字符到str2中 n gets str2 分别输入2行字符到str1 str2中 将两个字符数组进行连接 3 将两个字符数组进行连接 for i 0 str1 i 0 i 将str1的下标移到最后一个字符的后面 str1 i str2 j for j 0 str2 j 0 j str1 i 0 include includevoidmain inti j charstr1 80 str2 20 printf 请输入一行字符到str1中 n gets str1 printf 请输入另一行字符到str2中 n gets str2 printf 连接之前str1 puts str1 printf 连接之前str2 puts str2 for i 0 str1 i 0 i for j 0 str2 j 0 j str1 i str2 j str1 i 0 printf 连接之后str1 puts str1 12 编写一个程序 将字符数组a中的全部字符复制到字符数组b中 不要使用strcpy函数 定义两个一维字符数组 chara 80 b 80 printf 请输入一行字符到a中 n gets a 输入1行字符到a中 进行字符数组复制 3 进行字符数组复制 for i 0 a i 0 i b i a i b i 0 include includevoidmain inti chara 80 b 80 printf 请输入一行字符到a中 n gets a printf n printf 复制之前a puts a printf n printf 复制之前b puts b printf n for i 0 a i 0 i b i a i b i 0 printf 复制之后a puts a printf 复制之后b puts b 13 编写一个程序 找出3个字符串中的最大者 将它输出 定义两个一维字符数组 chara 80 b 80 printf 请输入一行字符到a中 n gets a 输入1个字符串到a中 依次输入另外两个字符串到b中 并和a比较 如果 b a 将b的值赋给a 3 依次输入另外两个字符串到b中 并和a比较 如果 b a 将b的值赋给a for i 1 i 3 i if strcmp b a strcpy a b printf 最大的字符串是 puts a printf 请输入一行字符到b中 n gets b include include definen3voidmain inti chara 80 b 80 printf 请输入一个字符串到a中 gets a printf n for i 1 i0 strcpy a b printf 最大的字符串是 puts a 选择填空 以下运算符中优先级最高的算符是 A B C D 以下合法的数组定义是 A inta A B C B Inta 5 0 1 2 3 4 5 C chara A B C D inta 0 1 2 3 4 5 若有以下说明 则数值为4的表达式是 inta 12 1 2 3 4 5 6 7 8 9 10 11 12 Charc a d g a a g c b a 4 c a d c d a d c main intn 2 0 i j k 2 for i 0 i k i for j 0 j k j n j n i 1 printf d n n k a 不确定值 b 3 c 2 d 1 以下程序的输出结果是 main charc 6 0 i 0 for i 0 i 6 i putchar c i for i 0 i 6 i c i getchar for i 0 i 6 i putchar c i 当运行以下程序时 输入三行 每一行都在第一列上开始输入 则输出结果是 输入数据 abcdef a abcdef b abcdef abcd d abcdef 请选择
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!