C语言程序设计教程北京理工大学出版社部分课后习题答案.pdf

上传人:zh****71 文档编号:126719227 上传时间:2020-03-27 格式:PDF 页数:5 大小:48.12KB
返回 下载 相关 举报
C语言程序设计教程北京理工大学出版社部分课后习题答案.pdf_第1页
第1页 / 共5页
C语言程序设计教程北京理工大学出版社部分课后习题答案.pdf_第2页
第2页 / 共5页
亲,该文档总共5页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《C语言程序设计教程北京理工大学出版社部分课后习题答案.pdf》由会员分享,可在线阅读,更多相关《C语言程序设计教程北京理工大学出版社部分课后习题答案.pdf(5页珍藏版)》请在金锄头文库上搜索。

1、CP5 4 编写程序输入一位学生的生日 年 y0 月 m0 日 d0 并输入当前的日期 年 y1 月 m1 日 d1 输出改学生的实足年龄 P116 main int y0 m0 d0 y1 m1 d1 age printf Please input current day n scanf d d d printf Please input birthday n scanf d d d age y1 y0 if m1 m0 age else if m1 m0 printf age d n age 7 某商店位促销推出如下让利销售方案 其中M 位购买金额 n 为让利 百分比 M 100 N 0

2、100 M 200 N 1 5 200 M 300 N 2 5 300 M 400 N 3 5 400 M 500 N 4 5 500 M600 N 6 编写程序 对输入的购买金额 输出顾客购 买金额 实际支出金 额和返还金额 main int m k float n printf Please input 购买金额m n scanf d k m 100 switch k case 0 n 0 break case 1 n 0 015 break case 2 n 0 025 break case 3 n 0 035 break case 4 n 0 045 break case 5 n 0

3、055 break default n 0 06 break printf 5d 7 2f 7 2f m m n m m n 输出购 买金额 实 际支付金额和返还金额 CP6 5 计算 6 个学生 5 门课成绩 每人的平均成绩 include void main int i j xuesheng double fen mean zongfen for i 1 i 6 i zongfen 0 for j 1 j 5 j scanf lf zongfen zongfen fen mean zongfen 5 0 printf xuesheng d lf n i mean 8 所有大于 1010 的

4、四位偶数 该偶数各位数字两两不 相同 include void main int t a b c d for t 1010 t 9999 t if t 2 0 a t 1000 10 b t 100 10 c t 10 10 d t 10 if a b cp8 1 编写一个判断一个整数是否是素数的函数 使用该 函数编写验证1000 以内的哥德巴赫猜想是成立 每个不小于6 的偶数都是两个素数之和 include main int i j for i 6 i 1000 i 2 for j 3 j i 2 j 2 if flag j break flag n 函数flag 的功能是判断整数n 是否为

5、素 数 int n int i if n 2 0 return 0 for i 3 i n 2 i if n i 0 return 0 return 1 3 编写一个求水仙花数的函数 求100 到 999 之间 的全部水仙花数 所 谓水仙花数是指一个三位数 其各位数字立方的和等于 该数 例如 153 就是一个水仙花数 153 1 1 1 5 5 5 3 3 3 参考 程序 main int i 0 j k a b c s for a 1 a 9 a for b 0 b 9 b for c 0 c0 k z 10 sum k k k z 10 return m sum 4 请编写一个函数 输出整

6、数 的全部素数因子 例 如 120 时 因子为 2 2 2 3 5 参考答案 main int m printf nEnter m scanf d primedec m primedec m int m int k 2 while k m if m k 0 printf d k m m k else k cp9 1 编写一函数 其功能是交换两个变量x y 的值 编程序实现对数组 a 100 b 100 调用此函数 交换a b 中具有相同下标 的数组元素的值 且输出交换后的a b 数组 p279 1 c this is a wrong program include stdlib h void

7、swap int pa int pb int t t pa pa pb pb t main int a 100 b 100 i for i 0 i 100 i 产生数组 a 和 b a i random 100 b i random 100 printf before swap A n 输出交换前数组a for i 0 i 100 i printf 3d a i printf n printf before swap B n 输出交换前数组b for i 0 i 100 i printf 3d b i printf n for i 0 i 100 i a b 数组元素交换 swap print

8、f after swap A n 输出交换后数组a for i 0 i 100 i printf 3d a i printf n printf after swap B n 输出交换后数组b for i 0 i 100 i printf 3d b i printf n this is a wrong program include void swap int x int y int temp temp x x y y temp void main int a 100 b 100 i i 0 printf enter y to reset the array or other to quit r

9、eset if getch y for i 0 i 100 i printf a d i scanf d a i for i 0 i 100 i printf b d i scanf d a i printf a tb n for i 0 i 100 i printf d t d n a i b i while i 100 swap a i b i i printf n na tb n for i 0 i 100 i printf d t d n a i b i 7 将空格分开的字符串称为单词 输入多行字符串 直到输入 stop 单词 时才停止 最后输出单词的数量 解 1 include st

10、ring h main char s 200 long n 0 int i m gets s while strcmp stop s 0 m strlen s for i 0 i0 n printf Input a string n gets s printf words number d n n 8 将输入的两行字符串连接后 将串中的空格全部移 到串首后输出 P280 8A include string h main char s1 80 s2 40 p1 s1 p2 s2 printf Input 2 string n gets s1 gets s2 while p1 0 p1 指针指向s

11、1 的末尾 while p2 0 连接 s2 p1 p2 p1 0 while p1 s1 将空格移到字符串前面 if p1 32 p1 continue else p2 p1 while p2 s1 将空格之前的所有字符向后移 动一个字 符位置 p2 p2 1 p2 p2 p1 puts s1 11 设一个以符号 结束的英文句子长度小于80 字节 请编写程序读 入改句子 并检查其是否为回文 即正读和反读都是一 样的 不考虑空 格和标点符号 例如 读入 madam i m adam 输出 yes 读入 abcdba 输出 no P280 11 c include string h main c

12、har a 20 ps pe int n gets a n strlen a ps a pe ps n while ps pe if ps Z if pe Z if ps pe break ps pe if ps pe printf s yes n a else printf s No n a cp10 1 错的 include struct std 定义学生结构体 包含学好 number 成绩 score 名次 mc int number int score int mc define N 100 int main int i j max num static int t 1 struct

13、std stduent N temp cin max for i 0 i stduent i number cin stduent i score for i 0 i max 1 i 冒泡法排序 从高分到低分 for j 0 j max i j if stduent j score stduent j 1 score temp stduent j stduent j stduent j 1 stduent j 1 temp for i 0 istduent i 1 score stduent i mc t stduent i 1 mc t else if stduent i score std

14、uent i 1 score stduent i mc t stduent max 1 mc t cout 成绩 学号 名次 endl for i 0 i max i cout stduent i score stduent i number stduent i mc endl cout endl for i 1 i stduent max 1 mc i 输出相同名 次的人数和学号 同名次的学号输出在同一行中 一行最多输出10 个学 号 num 0 for j i 1 j max 1 j if i stduent j mc num cout stduent j number if 0 num 10 cout endl cout 第 i 名有 num 个 endl return 0

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业/管理/HR > 其它文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号