【问题背景】
C语言网1045
【问题题目】
输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。写三个函数; ①输入10个数;②进行处理;③输出10个数。
【代码呈上】
#include <stdio.h>
int sr(int a[10]);
int jh(int a[10]);
int sc(int a[10]);int main()
{int a[10];
sr(a);
jh(a);
sc(a);} int sr(int a[10]){int i;for(i=0;i<10;i++){scanf("%d",&a[i]);}}int jh(int a[10]){int t,max,min,i;max=a[0];min=a[9];for(i=1;i<10;i++){if(a[i]>max){t=max;max=a[i];a[i]=t;}}t=a[9];a[9]=max;max=t;for(i=9;i>=0;i--){if(a[i]<min){t=min;min=a[i];a[i]=t;}}t=a[0];a[0]=min;min=t;}int sc(int a[10]){{int i;for(i=0;i<10;i++){printf("%d ",a[i]);}}}
【分享】这是其他人写的代码,我感觉很简单易懂,给大家分享一下
#include<stdio.h>
int main()
{
int number[10],date[10];
int i,t,max,min;
for ( i = 0; i < 10; i++)
{scanf("%d", &number[i]);date[i] = number[i];
}
for (int x = 0; x < 10; x++)
{for (int y = 0; y<10; y++){if (date[x]<date[y]){t = date[x], date[x] = date[y], date[y] = t;}}
}
for (i = 1; i < 9; i++)
{if (number[i]==date[0]){t = number[i], number[i] = number[0], number[0] = t;}if (number[i] == date[9]){t = number[i], number[i] = number[9], number[9] = t;}
}
for (i = 0; i < 10; i++)
{printf("%d ", number[i]);
}
}