【问题背景】
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]);
}
}