C 练习实例67

C 语言经典100例 C 语言经典100例

题目:输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。

程序分析:谭浩强的书中答案有问题。

实例

#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

C 语言经典100例 C 语言经典100例

0 个评论

要回复文章请先登录注册