排序问题
Time Limit: 1000MS Memory limit: 65536K
题目描述
输入10个整数,将它们从小到大排序后输出,并给出现在每个元素在原来序列中的位置。
输入
输入数据有一行,包含10个整数,用空格分开。
输出
输出数据有两行,第一行为排序后的序列,第二行为排序后各个元素在原来序列中的位置。
示例输入
1 2 3 5 4 6 8 9 10 7
示例输出
1 2 3 4 5 6 7 8 9 10 1 2 3 5 4 6 10 7 8 9#include <stdio.h> int main() { int i , j , a[11] , b[11] ; for(i = 1 ; i <= 10 ; i++) { scanf("%d", &a[i]); b[i] = i ; } for(i = 1 ; i <= 10 ; i++) { for(j = 1 ; j <= 10 - i ; j++) { if(a[j] > a[j+1]) { int c ; c = a[j] ; a[j] = a[j+1] ; a[j+1] = c ; c = b[j] ; b[j] = b[j+1] ; b[j+1] = c ; } } } for(i = 1 ; i <= 10 ; i++) { printf("%d", a[i]); if(i==10) printf("\n"); else printf(" "); } for(i = 1 ; i <= 10 ; i++) { printf("%d", b[i]); if(i==10) printf("\n"); else printf(" "); } return 0; }