2013-C++第17周项目参考解答链接集

本教程通过一系列项目,包括函数参数传递、字符串操作、数组排序等,帮助初学者深入理解C语言编程技巧。项目覆盖了从基本语法到高级特性的多个方面。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

课程主页在:http://blog.youkuaiyun.com/sxhelijian/article/details/11890759


【项目1-体会函数参数传递】

设计一个程序,输入3个整数,将其按从大到小的顺序输出,要求

1)排序功能通过函数实现

2)写出两个版本的函数,一个采用传地址值的方法,另一个采用引用类型作参数

参考解答在: http://blog.youkuaiyun.com/sxhelijian/article/details/8362289(2012级第17周项目1)


【项目2-用指针玩字符串】指针是神奇的,指向整型的指针int*p1,可以操作整型数组inta[];指向字符型的指针char*p2,可以操作字符数组(字符串)charstr[];指向指针的指针可以操作二维数组。更灵活的是,在函数的传递中,指针、数组名在一定程度上可以互换。

  本项目试图通过编制操作字符串的函数,实现字符串的操作。

  请编制函数,其功能是对字符串的进行操作(任务1作为示例给出,37必做,其余选做)

功能

用数组名作形参

用指针作形参

1

字符串str1str2连接,连接后的结果存放到str1

voidastrcat(charstr1[],constcharstr2[])

voidpstrcat(char*str1,constchar*str2)

2

去除字符串str中的特定字符c(如空格),结果仍保存到原字符串中

voidadelchar(charstr[],constcharc)

voidpdelchar(char*str,constcharc)

3

求字符串str的长度并返回

intastrlen(charstr[])

intpstrlen(char*str)

4

统计句子str中单词的个数

intawordnum(charstr[])

intpwordnum(char*str)

5

去除句子中第一个单词前的空格

voidatrim(charstr[])

voidptrim(char*str)

6

去除句子中所有多余的空格

voidaalltrim(charstr[])

voidpalltrim(charstr[])

7

比较两个字符串,返回值同strcmp()

intastrcmp(constcharstr1[],constcharstr2[])

intpstrcmp(constchar*str1,constchar*str2)

参考解答在: (1)连接   (2)删除字符   (3)求字符串长度   (4)统计单词数  (5)去前导空格   (6)去多余空格   (7)比较  (2012级第17周项目2)


【项目3-数组的排序】按给定部分程序的要求,用指向数组的指针变量作为形式参数编写函数,完成排序。重点体会:(1)排序算法,可以是冒泡,也可以是选择;(2)用指向数组的指针变量作为形式参数,用数组名(即数组的地址)作为实际参数,函数中对于形参的改变实质上也就是对实参对应内存单元的改变;(3)形式参数中不指定数组大小,实际数组的大小也一并作为参数传递。

参考解答在:http://blog.youkuaiyun.com/sxhelijian/article/details/8362361(2012级第17周项目5)


【项目4】数组用于进制转换:编一个程序,其中调用函数voidtran(intn,intd)用于将十进制数n转换为d进制数输出,并输出d进制数中最大位值是多少,在第几位。d的取值在2-32之间,数制d超过10时,依次用ABC...代表其基本符号,如对17进制而言,G代表其最大符号,对应十进制的16

  提示:用递归函数完成十进制向d进制的转换是需要掌握的,但对于本题而言,由于要在转换后的各位数上进行查找,建议用数组存放转换后的各位数值。右边是运行示例:

  

参考解答在: http://blog.youkuaiyun.com/sxhelijian/article/details/17468973


【项目5:穷举法解决组合问题】本项目只需要用到第3章控制结构部分。临近期末,通过这组题目,再用“循环”活动活动思维。

  具体内容请看2012级第11周项目2,链接:http://blog.youkuaiyun.com/sxhelijian/article/details/8141924

参考解答在:(1)百钱百鸡 (2)换分币 (3)年龄几何 (4)—三色球 (5)委派任务 (6)谁是小偷? (7)都要学C (8)软件比拼 (9)污损的数字 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值