- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实习五答案
用指针实现排序
/* exer 5-1 由键盘输入 10个整数,将它们按由小到大顺序排列 */
用指针实现:由键盘输入10个整数,将他们按由小到大的顺序排列。
输入: 键盘输入的10个整数。
输出: 按由小到大的顺序排列。
输入样例: 1 5 4 3 2 9 23 11 5 7
输出样例: 1 2 3 4 5 5 7 9 11 23
#includestdio.h
void main(void)
{
int a[10],*p = NULL; /* 说明数组和指针 */
int i, j, temp;
for(p = a; p a + 10; p++) /* 指针从数组首到尾 */
{
scanf(%d, p); /* 利用指针依次输入 */
}
p = a;
for(i = 0; i 9; i++) /* 利用指针依次比较 */
{
for(j = i + 1; j 10; j++)
if(*(p + i) *(p + j))
{
temp = *(p + i);
*(p + i) = *(p + j);
*(p + j) = temp;
}
}
for(p=a; p a + 9; p++)
printf(%d , *p);
printf(%d\n, *p);
}
用指针实现字符串排序
/*exer 5-2 将 10个长度小于20的字符串排序*/
用指针实现:将10个字符串(设其长度小于20)从小到大排序。
输入: 10个字符串。
输出: 排序后的10个字符串。
输入样例: ijk
jkl
def
ghi
def
cde
hij
def
efg
fgh
输出样例: cde
def
def
def
efg
fgh
ghi
hij
ijk
jkl
提示: ① 定义二维字符数组和指向该数组的指针数组;
② 用循环使指针数组的元素指向二维字符数组各行首;
③ 用循环为指针数组元素赋字符串为值;
④ 用strcmp函数比较两个指针数组元素的值、用strcpy函数交换两个指针数组元素的值。
#include stdio.h
#include string.h
void main(void)
{
char szStr[10][20],*psz[10],szTemp[20];
int i,j;
for(i = 0; i 10; i++)
{
psz[i] = szStr[i]; /*指针数组的每个元素指向各行串*/
}
for(i = 0; i 10; i++)
{
gets(psz[i]); /*输入10个字符串*/
}
for(i = 0; i 9; i++) /*字符串排序*/
{
for(j = i + 1; j 10; j++)
{
if(strcmp(psz[i], psz[j]) 0)
{
strcpy(szTemp, psz[i]);
strcpy(psz[i], psz[j]);
strcpy(psz[j], szTemp);
}
}
}
for(i = 0; i 10; i++)
{
puts(psz[i]); /*输出字符串*/
}
}
数据倒置
/*exer 5-3 将具有10个元素的一维数组中的数据倒置 */
描述: 用指针实现:将具有10个元素的一维数组中的数据倒置 输入: 10个元素。 输入样例: 0 1 2 3 4 5 6 7 8 9 输出样例: 9 8 7 6 5 4 3 2 1 0
提示: 数据倒置是指将数组前后元素的值交换后再输出。
#include stdio.h
void main(void)
{
int a[10], iTemp, *p, *q;
int
文档评论(0)