/*
*程序的版权和版本声明部分:
*Copyright(c)2013,烟台大学计算机学院学生
*All rights reserved.
*文件名称:
*作者:田成琳
*完成日期:2013年 11月28 日
*版本号:v1.0
*对任务及求解方法的描述部分:
*输入描述: 输入数据有一行,包含10个整数,用空格分开。
*问题描述:输入10个整数,将它们从小到大排序后输出,并给出现在每个元素在原来序列中的位置。
*程序输出:输出数据有两行,第一行为排序后的序列,第二行为排序后各个元素在原来序列中的位置。
*问题分析: Sample Input
1 2 3 5 4 6 8 9 10 7
Sample Output
1 2 3 4 5 6 7 8 9 10
1 2 3 5 4 6 10 7 8 9
*算法设计:
*/
#include<iostream>
void input(int[]);
int paixu(int[]);
void output(int[]);
using namespace std;
int b0,b1,b2,b3,b4,b5,b6,b7,b8,b9; //作为全局变量
int main()
{
int i,a[1000],c[1000];
input(a);
paixu(a);
output(a);
for(i=0;i<10;i++)
{
if(a[i]==b0) //对a[]数组中的值进行记录
c[i]=1;
else if(a[i]==b1)
c[i]=2;
else if(a[i]==b2)
c[i]=3;
else if(a[i]==b3)
c[i]=4;
else if(a[i]==b4)
c[i]=5;
else if(a[i]==b5)
c[i]=6;
else if(a[i]==b6)
c[i]=7;
else if(a[i]==b7)
c[i]=8;
else if(a[i]==b8)
c[i]=9;
else if(a[i]==b9)
c[i]=10;
}
cout<<endl;
output(c);
cout<<endl;
return 0;
}
int paixu(int a[])
{
int i,j,t;
for(i=0;i<10;i++) //以下是对10个数进行排序
{
for(j=0;j<9;j++)
{
if(a[j]>a[j+1])
{
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
}
}
return a[j];
}
void input(int a[])
{
int i;
for(i=0;i<10;i++)
{
cin>>a[i];
}
for(int j=0;j<10;j++) //将a[]数组的值分别给b...
{
b0=a[0];
b1=a[1];
b2=a[2];
b3=a[3];
b4=a[4];
b5=a[5];
b6=a[6];
b7=a[7];
b8=a[8];
b9=a[9];
}
}
void output(int a[])
{
int i;
for(i=0;i<10;i++)
{
cout<<a[i]<<" ";
}
}
运行结果:
心得体会: