问题一百二十二:排序
[plain] Description
输入10个大小不同的整数,将它们从小到大排序后输出,并给出现每个元素在原来序列中的位置。
Input
输入数据有一行,包含10个整数,用空格分开。
Output
输出数据有两行,第一行为排序后的序列,第二行为排序后各个元素在原来序列中的位置。
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
Description
输入10个大小不同的整数,将它们从小到大排序后输出,并给出现每个元素在原来序列中的位置。
Input
输入数据有一行,包含10个整数,用空格分开。
Output
输出数据有两行,第一行为排序后的序列,第二行为排序后各个元素在原来序列中的位置。
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
[plain] #include<stdio.h>
int main()
{
int i;
int j;
int t;
int flag;
int a[10];
int b[10];
for(i=0; i<10; i++)
{
scanf("%d", &a[i]);
}
for(i=0; i<10; i++)
{
b[i]=a[i];
}
for(i=0; i<9; i++)
{
for(j=i+1; j<10; j++)
{
if(a[i]> a[j])
{
t= a[i];
a[i]= a[j];
a[j]= t;
}
}
}
for(i=0; i<10; i++)
{
printf("%d", a[i]);
if(i<9)
{
printf(" ");
}
else
{
printf("\n");
}
}
for(i=0; i<10; i++)
{
flag=0;
for(j=0; j<10; j++)
{
if(a[i]==b[j])
{
flag=1;
printf("%d", j+1);
if(i<9)
{
printf(" ");
}
}
if(flag)
{
break;
}
}
}
return 0;
}
#include<stdio.h>
int main()
{
int i;
int j;
int t;
int flag;
int a[10];
int b[10];
for(i=0; i<10; i++)
{
scanf("%d", &a[i]);
}
for(i=0; i<10; i++)
{
b[i]=a[i];
}
for(i=0; i<9; i++)
{
for(j=i+1; j<10; j++)
{
if(a[i]> a[j])
{
t= a[i];
a[i]= a[j];
a[j]= t;
}
}
}
for(i=0; i<10; i++)
{
printf("%d", a[i]);
if(i<9)
{
补充:软件开发 , C语言 ,