西北农林科技大学c语言第五章答案,西北农林科技大学c语言上机实习5答案.doc...

西北农林科技大学c语言上机实习5答案

实习五答案

用指针实现排序

/* exer 5-1 由键盘输入 10个整数,将它们按由小到大顺序排列 */

#include

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的字符串排序*/

#include

#include

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个元素的一维数组中的数据倒置 */

#include

void main(void)

{

int a[10], iTemp, *p, *q;

int i;

for(i = 0; i < 10; i++)

{

scanf("%d", a + i); /*输入数组*/

}

p = a;

q = a + 9;

for(p = a, q = a + 9; p < q; p++, q--) /*首尾交换*/

{

iTemp = *p;

*p = *q;

*q = iTemp;

}

for(i = 0; i < 10; i++)

{

printf("%d ", *(a + i)); /*输出*/

}

}

用指针实现数据位置调整

/*exer 5-4 输入 10个整数,将最大的调到最后,最小的调到最前*/

#include

void swap(int *px, int *py);

int main(void)

{

int a[10], iTemp, *pMax, *pMin;

int i;

for(i = 0; i < 10; i++)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值