1. 编程学习网 > 编程教程 > C语言教程 > C语言经典案例:输入数组,最大的与第一个元素交换,最小的与最

C语言经典案例:输入数组,最大的与第一个元素交换,最小的与最

需求描写:输出数组,最大的与第一个元故旧换,最小的与最初一个元故旧换,输入数组。

C语言案例剖析:谭浩强的书中谜底有问题。

实现代码如下:

#include<stdio.h>

#include<stdlib.h>

void fun(int *s,int n)

{

int i;

int max=s[0];

int a=0;

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

{

if(s[i]>max)

{

max=s[i];

a=i;

}

}

s[a]=s[0];

s[0]=max;

int j;

int min=s[n-1];

int b=n-1;

for(j=0;j<n;j++)

{

if(s[j]<min)

{

min=s[j];

b=j;

}

}

s[b]=s[n-1];

s[n-1]=min;

}

void printf_s(int *s,int n)

{

int i;

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

printf("%d ",s[i]);

printf("\n");

}

int main()

{

int s[20];

int i,n;

printf("设置数组长度(<20):");

scanf("%d",&n);

printf("输出 %d 个元素:\n",n);

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

scanf("%d",&s[i]);

fun(s,n);

printf_s(s,n);

return 0;

}

输入结果未:

设置数组长度(<20):5

输出 5 个元素:

12 123 4 65 21

123 12 21 65 4

本文由IT教学网整理发布,转载请注明出处:http://www.itjx.com/jiaocheng/cyuyan/1000.html

联系我们

在线咨询:点击这里给我发消息

咨询电话:400-998-2681

工作时间:7*24小时无休