102上机实验AJ_第1页
102上机实验AJ_第2页
102上机实验AJ_第3页
102上机实验AJ_第4页
102上机实验AJ_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

上机实验7A 程序设计阶段练习 1 改错程序 10进制整数转换为16进制串 问题描述 下列程序包含4个错误 请输入该程序的代码 找出并更正程序错误 在修改行代码后增加 注释 程序改错时不允许改变大的程序结构 如函数调用关系与循环结构等 程序功能 从键盘上输入一个整数 转换为16进制串并输出 如输入 90则输出 5A再如输入 1234则输出 4D2 函数说明 函数dec2hex将整数n转换为16进制的字符串并存贮于str数组 1 依次计算n的16进制最低位 变量k 转换为16进制码 字符 0 至 9 或 A 至 F 存贮于str数组 完成一位后 n除16以去掉最低位 然后循环求解更高位 2 使用for循环逆序str数组 变量i从0递增 变量j从m 1递减 交换str i 与str j 主函数main输入一个整数 调用dec2hex函数转换为16进制串 然后输出该字符串 带错误原程序 函数dec2hex包含3个错误点 main包含1个错误点 includevoiddec2hex intn char str intm i j chart m 0 do k n 16 if k0 str m 0 for i 0 j m 1 i j i j str i t str i str j str j t main charstr 80 intn scanf d includevoiddec2hex intn char str intm i j k 缺变量k定义 chart m 0 do k n 16 if k0 str m 0 for i 0 j m 1 i j i j t str i 原 str i t str i str j str j t main charstr 80 intn scanf d 2 打印5行数字图形 A 问题描述 从键盘上输入5个整数 设每个整数取值1至5 按示例格式输出5行数字图形 每行的数字及数字个数与输入数相对应 输入形式 从键盘输入5个整数 设每个整数取值1至5 输出形式 按示例格式输出5行数字图形 每行的数字及数字个数与输入数相对应 样例输入1 54321 样例输出1 其中 表示空格 表示回车 样例说明1 输出共5行 居中对齐形状 输入的第1个数为5 则输出的第1行有5个5 数字之间含有1个空格 第1个 5之前有5 5 0个空格 输入的第2个数为4 则输出的第2行有4个4 数字之间含有1个空格 第1个4之前有5 4 1个空格 以此类推 样例输入2 23212 样例输出2 其中 表示空格 表示回车 样例说明2 输出共5行 居中对齐形状 输入的第1个数为2 则输出的第1行有2个2 数字之间含有1个空格 第1个2之前有5 2 3个空格 以此类推 include 不用数组 行尾无空格 main intn i j for i 1 i 5 i scanf d include 用数组 行尾有空格 main inta 5 i j for i 0 i 5 i scanf d 3 最大值出现的次数和出现次数最多的数及其出现次数 问题描述 编写程序 输入10个整数 存贮在一维数组a中 按示例格式计算并输出以下结果 1 输出最大值及其出现次数 2 输出出现次数最多的整数及其出现次数 如果有不同2数而出现次数同样最多 则输出其中最早出现的数 输入形式 从键盘输入10个整数 存入一维数组a 输出形式 输出最大值及其出现次数 输出出现次数最多的整数及其出现次数 如有不同2数而出现次数同样最多 则输出其中最早出现的数 样例输入1 78906095786078957860 样例输出1 Max 95 2 78 4 样例说明1 输入10个整数 95出现2次 90出现1次 78出现4次 60出现3次 其中最大值为95 出现2次 而出现次数最多的数为78 出现了4次 样例输入2 60997895786078959560 样例输出2 Max 99 1 60 3 样例说明2 输入10个整数 99出现1次 95 78与60各出现3次 其中最大值为99 出现1次 而出现次数最多的3个数中60最早出现 include 不用数组存放各数出现次数 main inta 10 i j ct maxct maxn for i 0 i 10 i scanf d printf Max d d maxn ct maxct 0 for i 0 i 10 i for ct j 0 j 10 j if a i a j ct 与试验7的区别if maxct ct maxct ct maxn a i printf d d n maxn maxct include 用数组存放各数出现次数 main inti j a 10 ct 10 0 maxn maxct for maxn 0 i 0 ia maxn maxn i for i 0 i 10 i for j 0 j 10 j if a i a j ct i for maxct 0 i 0 i 10 i if ct maxct ct i maxct i printf Max d d d d n a maxn ct maxn a maxct ct maxct 4 整数a与a的因子之和的个位数组成的数 问题描述 编写程序 按示例实现以下功能 1 编写函数 函数说明为 intfacsum intn 返回整数n的因子之和 当1 i a时 如果a是i的倍数 则i是a的因子 2 编写主函数main 完成以下要求 a 输入整数 变量a b 调用函数facsum计算a的因子之和 变量s c 计算s的个位数 变量b d 以a为高位 b为个位组成一个新数 变量x 有x 10 a b 输出x 输入形式 从键盘输入整数a 输出形式 输出以整数a为高位 a的因子之和的个位数为个位组成的数 样例输入1 12 样例输出1 126 样例说明1 整数12的因子有1 2 3 4 6 因子的累加和为16 累加和的个位数为6 以12为高位 6为低位 组成的新数为126 样例输入2 123 样例输出2 1235 样例说明2 整数123的因子有1 3 41 累加和为45 个位数5 输出1235 includeintfacsum intn ints i s 0 for i 1 i n i if n i 0 s s i returns main inta b s x scanf d 5 排名次 按名次顺序输出 问题描述 编写程序 从键盘输入10个百分制成绩 将成绩从高到低排序并且排名 然后以 名次 成绩 的形式依次输出 相互间用1个空格间隔 最高分的名次记为1 相同的成绩名次也相同 输入形式 从键盘输入10个百分制成绩 输出形式 按名次顺序 以 名次 成绩 的形式依次输出10成绩及其名次 相互间用1个空格间隔 样例输入 991008060709099705070 样例输出 1 1002 992 994 905 806 706 706 709 6010 50 样例说明 输入10个百分制成绩 按名次顺序输出 第1名100分 第2名99分有2个 由于有2个第2名 90分就成了第4名 第5名80分 第6名70分有3个 由于有3个第6名 60分就为第9名 第10名50分 include stdio h 方法1 defineN10main inta N i j t m p for i 0 i N i scanf d m为名次 p为同名次个数 for m

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论