C语言实验报告参考答案(原)_第1页
C语言实验报告参考答案(原)_第2页
C语言实验报告参考答案(原)_第3页
C语言实验报告参考答案(原)_第4页
C语言实验报告参考答案(原)_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

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

文档简介

精品文档 1欢迎下载 C C 语言实验报告参考答案语言实验报告参考答案 实验一实验一 熟悉熟悉 C C 语言程序开发环境及数据描述语言程序开发环境及数据描述 四 程序清单四 程序清单 1 编写程序实现在屏幕上显示以下结果 The dress is long The shoes are big The trousers are black 答案 include main printf The dress is long n printf The shoes are big n printf The trousers are black n 2 编写程序 1 a 150 b 20 c 45 编写求 a b a c 商 和 a b a c 余数 的程序 2 a 160 b 46 c 18 d 170 编写求 a b b c c d 的程序 答案 1 include main int a b c x y a 150 b 20 c 45 x a b y a c printf a b 的商 d n x printf a c 的商 d n y x a b y a c printf a b 的余数 d n x printf a c 的余数 d n y 精品文档 2欢迎下载 2 include main int a b c d float x a 160 b 46 c 18 d 170 x a b b c c d printf a b b c c d f n x 3 设变量 a 的值为 0 b 的值为 10 编写程序 当 a b 时 将 b 赋给 c 当 a b 时 将 0 赋给 c 提示 用条件运算符 答案 include main int a b c a 0 b 10 c a b b a printf c d n c 五 调试和测试结果五 调试和测试结果 1 编译 连接无错 运行后屏幕上显示以下结果 The dress is long The shoes are big The trousers are black 2 1 编译 连接无错 运行后屏幕上显示以下结果 a b 的商 7 a c 的商 3 精品文档 3欢迎下载 a b 的余数 10 a c 的余数 15 2 编译 连接无错 运行后屏幕上显示以下结果 a b b c c d 1064 0000 3 编译 连接无错 运行后屏幕上显示以下结果 c 10 实验二实验二 顺序结构程序设计顺序结构程序设计 四 程序清单四 程序清单 1 键盘输入与屏幕输出练习 问题问题 1 1 D 问题问题 2 2 改 printf c c d n a b c printf c c d n a b c 这条语句这条语句 改成 printf cprintf c c c d n a b c d n a b c 问题问题 3 3 改 scanf c c d scanf c c d 这条语句这条语句 改为 改为 scanf cscanf c c c d d 问题问题 4 4 改 printf c c d n a b c printf c c d n a b c 这条语句这条语句 改成 printf printf c c c c d n a b c d n a b c 问题问题 5 5 把 scanf c c d 和 printf c c d n a b c 改成scanf c c c c d printf c c d n a b c 2 1 从键盘输入两个八进制数 计算两数之和并分别用十进制和十六进制数形式输出 include int main int a b c scanf d d c a b printf d n c printf x n c return 0 2 2 编写程序 从键盘输入两个实数 a 和 x 按公式计算并输出 y 的值 ax exaaxay ln sin 5 include include int main 精品文档 4欢迎下载 float a x y scanf f f y pow a 5 sin a x exp a x log a x printf y f n y return 0 五 调试和测试结果五 调试和测试结果 2 1 输入 12 14 输出 26 1a 2 2 输入 1 0 输出 2 000000 实验三实验三 选择结构程序设计选择结构程序设计 四 设计流程 算法描述 四 设计流程 算法描述 请写出上机内容 2 3 题的算法描述 主要是两两比较 然后得出最大的数主要是两两比较 然后得出最大的数 五 程序清单五 程序清单 1 输入一个整数 若大于等于 0 输出提示信息 is positive 否则输出 is negative include include main int a scanf d if a 0 printf the number is positve n else printf the number is negetive n return 0 2 输入两个整数 a 和 b 若 a b 时 求其积 c 并显示 若 a b 时 求其商 c 并显示 include main 精品文档 5欢迎下载 int a b c scanf d d if a b printf c d n a b else printf c d n a b return 0 3 输入 a b c 三个整数 输出最大数 include main int a b c x scanf d d d if a b x a else x b if x c x c printf the max number is d n x return 0 六 调试和测试结果六 调试和测试结果 2 1 输入 2 输出 the number is positve 输入 0 输出 the number is positve 输入 2 输出 the number is negetive 2 2 输入 3 2 输出 c 6 输入 2 3 输出 c 0 2 3 输入 3 2 1 输出 the max number is 3 输入 2 3 1 输出 the max number is 3 输入 1 2 3 输出 the max number is 3 实验四实验四 循环结构程序设计循环结构程序设计 四 设计流程 算法描述 四 设计流程 算法描述 请写出上机内容 2的算法描述 精品文档 6欢迎下载 首先求出每一个给定数的所有因子和 然后从 2 到 5000 循环 那一个数 x 与因子之和相等 就是完数 五 程序清单五 程序清单 1 编写程序 求 1 2 3 100 和 12 22 33 1002 include include int main int i j sum sum 0 for i 1 i 100 i sum i printf the sum is d n sum sum 0 for i 1 i 100 i j pow i 2 sum j printf the square sum is d n sum return 0 2 一个数如果恰好等于它的因子之和 这个数就称为 完数 编写程序找出 2 5000 中的所有完数 include include main int i j sum 0 for i 2 i 5000 i 遍历从 2 到 5000 的所有数 sum 0 for j 1 j i 2 j 找出给定整数 X 的所有因子和 精品文档 7欢迎下载 if i j 0 sum j if i sum sum 为因子和 如果和 i 相等 则输出 printf d i return 0 3 编写程序 计算 sinx 的近似值 精确到 10 6 7 5 3 sin 753 xxx xx 其实 所以程序 12 1 sin 12 1n 1 n x x n n include include main float x sinx i t printf 请输入一个 x 值 弧度值 scanf f sinx 0 t x i 1 while fabs t 1e 6 sinx sinx t t t x x 2 i 2 i 1 i printf sin 2f 6f n x sinx 六 调试和测试结果六 调试和测试结果 1 结果 the sum is 5050 the square sum is 338350 2 结果 6 28 496 3 输入 0 输出 sin 0 00 0 000000 输入 1 57 输出 sin 1 57 1 000000 输入 0 5 输出 sin 0 50 0 479426 实验五实验五 函数和编译预处理函数和编译预处理 精品文档 8欢迎下载 四 设计流程 算法描述 四 设计流程 算法描述 请写出上机内容 2 的算法描述 求素数的方法就是 给定一个大于 3 的数 x 从 2 到 X 的平方根遍历 只要有 数可以被 x 整除 就不是素数 五 程序清单五 程序清单 1 编写自定义函数 long power int m int n 计算的值 利用此函数编程序实现 n m 从键盘输入两个整数 m 和 n 计算出的值 n m include long power int m int n 要返回的是 long 型 int i long s 因为是要返回的数 所以这里也定义为 long 型 s 1 for i 1 i n i s m return s int main void int m n scanf d d printf s ld n power m n return 0 2 编写自定义函数 prime int x 判断 x 是否为素数 利用此函数编写程序找出 3 5000 中的所有素数 并输出素数的个数 include include int prime int m int i k k sqrt m for i 2 ik return 1 return 0 精品文档 9欢迎下载 main int i k k 0 for i 3 i 5000 i if prime i 1 k printf d is a prime muber n i printf 共有 d 个素数 n k 3 编写自定义函数 count int x 计算 x 的因子个数 利用此函数找出并输出 1 1000 中有奇数个不同因子的整数 include include int count int x int sum i sum 0 记住因子的个数 for i 1 i x 2 i if x i 0 sum 1 return sum 1 int main void int i y for i 1 i 100 i y count i if y 2 1 printf d t i return 0 六 调试和测试结果六 调试和测试结果 1 输入 2 3 输出 s 8 2 输出 共有 668 个素数 精品文档 10欢迎下载 2 3 输出结果为 实验六实验六 数组数组 四 设计流程 算法描述 四 设计流程 算法描述 请写出上机内容 1 的算法描述 设置两个变量分别指示头和尾 第一个和最后一个元素值互换 然后头和尾变 量向里移动 最终到两变量相遇为止 五 程序清单 1 编写程序 从键盘输入一串整数保存到数组中 调用函数 antitone 将数组反序输出 自定义函数 void antitone int a int n 实现将数组中的 n 个数据按逆序存放 void antitone int a int n int i j int k i 0 j n 1 while i j k a i a i a j 精品文档 11欢迎下载 a j k i 1 j 1 2 已知某数列的前两项为 2 和 3 其后每一项为其前两项之积 编程实现 从键盘输入一个整数 x 判断并输出 x 最接近数列的第几项 include include void Mad int a int n int i a 0 2 a 1 3 for i 2 ia i i k1 abs x a i 1 k2 abs x a i if k1 k2 printf the most similar x number is d n a i else printf the most similar x number is d n a i 1 return 0 3 编程实现 输入 10 个学生 5 门课的成绩并完成如下功能 精品文档 12欢迎下载 1 求每个学生的平均分 2 求每门课程的平均分 include include define num 10 typedef struct student char name 20 float math float englis float computer float Chinese float history STUDENT int main void STUDENT stu num int i float score sum average char s 10 float scoreMath scoreEng scoreCom scoreChi scoreHis for i 0 i num i printf Name gets stu i name printf math score scanf f stu i math score printf englis score scanf f stu i englis score printf computer score scanf f stu i computer score printf Chinese score scanf f 精品文档 13欢迎下载 stu i Chinese score printf history score scanf f stu i history score gets s 功能是接受最后一个回车符 然后下一次 gets stu i name 才能起 到作用 求每个学生的平均分数 for i 0 i num i sum 0 sum stu i math sum stu i englis sum stu i computer sum stu i Chinese sum stu i history average sum 5 printf s s average score is f n stu i name average 求每门课的平均成绩 scoreMath 0 scoreEng 0 scoreCom 0 scoreChi 0 scoreHis 0 for i 0 i num i scoreMath stu i math scoreEng stu i englis scoreCom stu i computer scoreChi stu i Chinese scoreHis stu i history printf math s average score is f n scoreMath num printf englis s average score is f n scoreEng num printf computer s average score is f n scoreCom num 精品文档 14欢迎下载 printf Chinese s average score is f n scoreChi num printf history s average score is f n scoreHis num return 0 实验七实验七 数组和函数数组和函数 四 程序清单四 程序清单 请写出上机内容 2 中函数的源代码 void fun int tt M N int pp N int i j max for j 0 j N j max tt 0 j for i 1 imax max tt i j pp j max 五 调试和测试结果五 调试和测试结果 写出上机内容 1 中填空的内容 1 1 sum 0 2 t i i 3 1 2 1 1 2 i 3 a p i 实验八实验八 指针 指针 1 1 四 程序清单四 程序清单 请写出上机内容 2 中的函数 求出每个位上的数字 然后放在千位上的数字乘以 1000 放在百位上的数字乘 以 100 放在 10 位上的数字乘以 10 然后相加 void fun int a int b long c int a10 a1 b10 b1 a10 a 10 a1 a 10 b10 b 10 b1 b 10 c a10 1000 b1 100 a1 10 b10 五 调试和测试结果五 调试和测试结果 请写出上机内容 1 的输出结果 1 1 1 1 输出结果为 输出结果为 8 7 7 88 7 7 8 2 2 6 6 3 3 1 x 10 1 x 10 y 20y 20 2 x 20 2 x 20 y 10y 10 4 4 1 1 int p 2 2 int p sum 1 for p a pave 0 for i 0 i N i for i 0 iave a s i a ave a s i a ave N a ave N 五 调试和测试结果五 调试和测试结果 请写出上机内容 1 的填空结果 上机内容 1 的填空结果 1 sno 2 name 3 FILE fd char s 10 p ch 精品文档 17欢迎下载 if fd fopen D shi txt wt NULL printf creat the file failed n exit 0 else for i 1 i 100 i if i 3 0 itoa i s 10 转换成字符串 fputs s fd fputc fd printf n fclose fd 提取字符转换成数字输入 if fd fopen D shi txt rt NULL printf open the file failed n exit 0 else p s sum 0 do ch fgetc fd if ch i atoi s sum i printf d i strset s 0 p s else 精品文档 18欢迎下载 p ch p while ch EOF printf 数的和是 d n sum fclose fd return 0 实验十二 参考答案 实验十二参考答案 可根据情况 弄清楚一个模块即可 题目 设某班有 n 位同学 每位同学的数据包括以下内容 学号 长整型 姓名 字 符串 数学成绩 整型 程序设计成绩 整型 设计程序完成以下五项功能 新建数据 档案 添加数据 删除数据 对输入的数据进行排序和查询 注 输入数据时 要求学号不能相同 姓名可以相同 设计思路 1 程序运行时 首先显示主菜单 模块 如下 1 程序运行时 首先显示主菜单如下 1 新建数据 2 添加数据 3 删除数据 4 排序 5 查询 6 退出 用户输入序号后 程序进行相应操作 2 在主菜单中选择序号 4 弹出子菜单选择排序方式 子菜单如下 1 数学成绩排序 2 程序设计成绩排序 3 总分排序 4 返回主菜单 选择子菜单的序号后 程序能正确运行并在屏幕上显示按要求排序后的相关信息 3 在主菜单中选择序号 5 弹出子菜单选择查询方式 子菜单如下 1 学号查询 2 姓名查询 3 数学成绩查询 4 程序设计成绩查询 5 总分查询 6 返回主菜单 精品文档 19欢迎下载 请按序号选择相应操作 在子菜单中选择序号后 程序按以下方式工作 1 学号查询 输入学号后 若该学号存在则显示与其相关的所有信息 否则显示找 不到的提示信息 提示 查询到满足条件的结果后 查询即可结束 2 姓名查询 输入姓名后 若该姓名存在则显示与其相关的所有信息 否则显示找 不到的提示信息 提示 使用字符串比较函数进行比较 3 按科目查询 输入指定分数 程序运行后显示该科目中考试成绩大于等于指定分 数的同学的学号 姓名以及该科成绩并统计满足条件的人数 4 总分查询 输入指定分数 程序运行后显示总分成绩大于等于指定分数的同学的 学号 姓名以及各科成绩并统计满足条件的人数 C 源程序清单如下 include stdio h include stdlib h include string h include conio h include mem h include ctype h include alloc h define N 2 typedef struct z1 char no 11 char name 15 int score N float sum float average int order struct z1 next STUDENT Functions STUDENT init initialize STUDENT create STUDENT delete STUDENT h STUDENT searchno STUDENT h void print STUDENT h void search STUDENT h void save STUDENT h STUDENT load STUDENT insert STUDENT h STUDENT sort STUDENT h STUDENT index STUDENT h 精品文档 20欢迎下载 int menu select menu main main int i STUDENT head head init clrscr for switch menu select case 1 head init break case 2 head create break case 3 head delete head break case 4 print head break case 5 search head break case 6 head searchno head break case 7 save head break case 8 head load break case 9 head insert head break case 10 head sort head break case 11 case 12 case 13 head index head break case 0 exit 0 menu select char menu MENU 1 Init list 2 Enter list 3 Delete a record from list 4 print list 5 Search record by name 6 Search record by Number 7 Save the file 8 Load the file 9 insert record to list 10 sort by total scores 精品文档 21欢迎下载 11 sort by maths scores 12 sort by program scores 13 index on number 0 Quit char s 3 int c i gotoxy 1 25 printf press any key continue n getch clrscr gotoxy 1 1 textcolor YELLOW textbackground BLACK gotoxy 10 2 putch 0 xc9 for i 1 i 44 i putch 0 xcd putch 0 xbb for i 3 i 20 i gotoxy 10 i putch 0 xba gotoxy 54 i putch 0 xba gotoxy 10 20 putch 0 xc8 for i 1 i 44 i putch 0 xcd putch 0 xbc window 11 3 53 19 clrscr for i 0 i 16 i gotoxy 10 i 1 cprintf s menu i textbackground BLACK window 1 1 80 25 gotoxy 10 21 do printf n Enter you choice 0 13 scanf s s c atoi s while c14 return c 精品文档 22欢迎下载 STUDENT init return NULL STUDENT create int i int s STUDENT h NULL info for info STUDENT malloc sizeof STUDENT if info printf nout of memory return NULL inputs enter no 10 digitals enter 0 to exit info no 11 if info no 0 0 break when the first number is 0 break inputs enter name name 15 printf please input scores n s 0 s is sum begins with 0 for i 0 iscore i socre 0 stores maths scores socore 1 stores program scores if info score i 100 info score i score i 100 info score i score i info sum s info order 0 info next h h info return h inputs char prompt char s int count 精品文档 23欢迎下载 char p 255 do printf prompt scanf s p if strlen p count printf n too long n while strlen p count strcpy s p Print infor void print STUDENT h int i 0 STUDENT p clrscr p h printf n n n STUDENT n printf rec NO name maths program sum order n printf n while p NULL i printf 3d 10s 15s 7d 9d 4 2f 3d n i p no p name p score 0 p score 1 p sum p order p p next printf end n STUDENT delete STUDENT h STUDENT p q char s 11 clrscr printf please enter the number you want to delete n scanf s s q p h while strcmp p no s p p next if p NULL printf nlist no s student n s 精品文档 24欢迎下载 else printf n n n STUDENT n printf NO name maths program sum order n printf n printf 10s 15s 7d 9d 4 2f 3d n p no p name p score 0 p score 1 p sum p order printf end n getch if p h h p next else q next p next free p printf n have deleted No s student n s return h STUDENT searchno STUDENT h STUDENT p q char s 11 clrscr printf please enter the number you want to search n scanf s s q p h while strcmp p no s p p next if p NULL printf n s No Found n s else printf n s Found n s printf n n n STUDENT n printf NO name maths program sum order n printf n printf 10s 15s 7d 9d 4 2f 3d n p no p name p score 0 p score 1 p sum p order 精品文档 25欢迎下载 printf end n getch return h void search STUDENT h STUDENT p char s 15 clrscr printf please enter name for search n scanf s s p h while strcmp p name s if p NULL printf n s No Found n s else printf n s Found n s printf n n n STUDENT n printf NO name maths program sum order n printf n printf 10s 15s 7d 9d 4 2f 3d n p no p name p score 0 p score 1 p sum p order printf end n STUDENT insert STUDENT h STUDENT p q info char s 11 int s1 i printf please enter the No which this record will be located before n scanf s s printf nplease new record n info STUDENT malloc sizeof STUDENT if info printf nout of memory return NULL 精品文档 26欢迎下载 inputs enter no 10 digitals info no 11 inputs enter name name 15 printf please input scores n s1 0 for i 0 iscore i if info score i 100 info score i score i 100 info score i score i info sum s1 info order 0 info next NULL p h q h while strcmp p no s p p next if p NULL if p h h info else q next info else if p h info next p h info else info next p q next info printf

温馨提示

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

评论

0/150

提交评论