《高级程序设计C语言 赵红11级C语言课堂上机课件 第3讲数组》由会员分享,可在线阅读,更多相关《高级程序设计C语言 赵红11级C语言课堂上机课件 第3讲数组(31页珍藏版)》请在金锄头文库上搜索。
1、第3讲数组 漳州师范学院赵红 C语言程序设计 写出输出结果 includeintmain intn 1 m 4 a 35 printf d d n n m printf d d n n m a a printf d n a return0 2020 4 22 2 选课代表给大家的离线题目与网络上的不一定完全一致国庆作业 OJ上的比赛10题 独立完成欢迎出错便于打好基础禁止使用马甲禁止场外提交为15周期中考试 OJ上的竞赛 做好准备上机没完成的OJ上继续完成 2020 4 22 3 2020 4 22 4 上机1 2书上练习P58 P63练习题选能做的完成 P793 7P803 8P1114 1
2、少取地址符P1124 2 4 3P1164 5 2020 4 22 5 数据倒置 ProblemDescription输入多个三位整数 分别倒置后并输出 例如 输入356 输出653Input第一行是一个整数N 代表有N个测试数据 接下来N行是需要倒置的三位数据 Output每行是倒置后的结果 2020 4 22 6 数据倒置 SampleInput3145673890SampleOutput54137698 2020 4 22 7 计算购货款 ProblemDescription计算购货款 根据输入的购货金额 输出实际付款金额 购货折扣率如下 购货金额 500元不打折500元 购货金额 10
3、00元打9折1000元 购货金额打8折Input输入数据有多组 每组占一行 每行的一个数 Output对于每组输入数据 输出一个数 保留一位小数 每组输出占一行 2020 4 22 8 SampleInput4508792000SampleOutput450 0791 11600 0 2020 4 22 9 双重循环 显示下面图形 双for 显示直角三角形 双for 2020 4 22 10 2020 4 22 11 输出数组a的值 intmain inta 12 13 15 13 printf d d d d a 0 a 1 a 2 a 3 return0 如何输出长度为40的数组内的值 2
4、020 4 22 12 练习2 从键盘输入任意五个整数 只显示能被3整除的整数 如a 34 24 65 66 43 输出结果为 a 1 24 a 3 66 defineN5intmain inti a N for i 0 i N i scanf d 2020 4 22 13 练习3 例1 将5个人的成绩输入计算机后按逆序显示 运行情况如下 6774899234 34 092 089 074 067 0 defineN5main inti doublescore N for i 0 i 0 i printf 6 1lf score i 2020 4 22 14 二维数组的初始化 例 inta 2
5、 3 1 2 3 4 5 6 1 按行赋初值 例 inta 2 3 1 2 3 4 5 6 初始化后结果 123456 2 按数组元素在内存中排列的顺序对各元素赋初值 3 给部分元素赋初值 例 inta 2 3 1 4 初始化后结果 100400 在定义的同时初始化注意 定义中的a 2 3 在实际应用中可以出现a 2 3 吗 2020 4 22 15 二维数组的初始化 续 4 数组初始化时 行长度可省 列长度不能省例如 inta 3 1 2 3 4 5 6 7 intb 4 1 4 5 初始化结果 a结果 a 0 123a 1 456a 2 700 b结果 b 0 1000b 1 4500 2
6、020 4 22 16 二维数组应用举例 例 给一个2行3列的二维数组输入 出数据 程序运行情况如下 123 456 123456 main inta 2 3 i j for i 0 i 2 i for j 0 j 3 j scanf d 2020 4 22 17 二维数组应用举例 例 求一个2行3列的二维数组的转置数组 程序运行情况如下 123 456 142536 main inta 2 3 1 2 3 4 5 6 b 3 2 i j for i 0 i 2 i for j 0 j 3 j b j i a i j for i 0 i 3 i printf n for j 0 j 2 j p
7、rintf d t b i j printf n 2020 4 22 18 字符数组与字符串 字符数组 可以存放若干个字符 也可以存放字符串 1基本概念 字符串 字符串的末尾必须有 0 字符 它的ASCII码值为0 不是字符串 是字符串 2020 4 22 19 再例如 chara 3 5 a数组是一个二维的字符数组 可以存放15个字符或3个长度不大于4的字符串 字符数组的定义 例如 chars 10 s数组是一维字符数组 它可以存放10个字符或一个长度不大于9的字符串 注意 字符串只能存放在字符数组中 2020 4 22 20 字符数组的初始化 续 2 用字符串常量赋初值 例如 charst
8、r 10 astring charstr 10 astring charstr 10 a s t r i n g 是字符串吗 2020 4 22 21 字符数组的引用 例 对字符数组c1赋 0 9 然后输出c1数组中的数据 1 对字符数组元素的引用 可以为数组元素赋值 也可以输入 输出元素的值 2020 4 22 22 程序如下 intmain charc1 10 inti for i 0 i 10 i c1 i i 48 for i 0 i 10 i printf c c1 i printf n return0 2020 4 22 23 2 对字符数组的整体引用 输出字符串例如 charc
9、China printf s c 输出结果为 China C是数组首地址 输出时遇 0 为止 再例如 charc pascal 0basic printf s c 输出结果为 pascal 2020 4 22 24 上机调试 1 从键盘接收n个整数存入数组 求出其平均值 并输出 2 从键盘接收n个整数存入数组A 将数组A中的元素复制到数组B中 并输出B 3 找出一个一维数组中的最大值 最小值 并交换其位置 如 数组初始 15472交换后数组 754124 对字符数组c2赋 A Z 然后输出c2数组中的数据 2020 4 22 25 2020 4 22 26 2020 4 22 27 2020 4 22 28 2020 4 22 29 2020 4 22 30 2020 4 22 31