#include
void output(int s[10]) //此函数用来输出
{int i;
for(i=0;i<10;i++)
printf("%d ",s[i]);
}
void input(int s[10]) //此函数用以输入
{int i;
for(i=0;i<10;i++)
scanf("%d",&s[i]);
}
void swap(int * a,int *b)
{int temp;
temp=*a;
*a=*b;
*b=temp;
}
void main()
{int min=0;
int max=0;
int x=0,y=0,i=0; //定义x用来存储最小值的编号,y有来存最大值的编号
//i用来控制循环
int num[10];
input(num); //注意:输入,输出的函数input,output要用数组名
//num做为实参
max=min=num[0];
for(i=0;i<10;i++)
{ if(num[i]
x=i;}
if(num[i]>max)
{max=num[i];
y=i;}
}
swap(&num[0],&num[x]); //用指针的方法才能实现在函数中处理两个
//数调换
swap(&num[9],&num[y]);
output(num);
}
本题经过上机调试,可以达到要求
冒泡法啊,教科书上到处都是,随便找本资料看看
64
75
365
75
34
897
35
76
26
43
26 75 365 75 34 43 35 76 64 897
Press any key to continue
#include
using namespace std;
f1(int a[]) {
for(int i = 0; i < 10; i++)
cin>>a[i];
}
f2(int a[]) {
int max, min;
max = min = 0;
for(int i = 1; i < 10; i++) {
if(a[max] < a[i]) max = i;
if(a[min] > a[i]) min = i;
}
if(min) { i = *a; *a = a[min]; a[min] = i;}
if(max) { i = a[9]; a[9] = a[max]; a[max] = i;}
}
f3(int a[]) {
for(int i = 0; i < 10; i++)
cout< cout<
main() {
int a[10];
f1(a);
f2(a);
f3(a);
}
既然是用C语言编程,我给你一套标准C语法的程序代码(与C++是有区别的):
#include
void inputdata(int *data);
void sortdata(int *data);
void outputdata(int *data);
main()
{
int data[10];
inputdata(data);
sortdata(data);
outputdata(data);
}
void inputdata(int *data)
{
int i;
for(i=0;i<=9;i++)
{
printf("input number %d :\n",i+1);
scanf("%d",&data[i]);
}
}
void sortdata(int *data)
{
int i,j,n;
for(i=0;i<=9;i++)
for(j=i+1;j<=9;j++)
if(data[j] {
n=data[i];
data[i]=data[j];
data[j]=n;
}
}
void outputdata(int *data)
{
int i;
printf("10 data output (min to max) :\n");
for(i=0;i<=9;i++)
{
printf("%d",data[i]);
// for beautiful view , a ',' added for data 1-9
if(i<=8) printf(",");
}
}