C语言中:用数组编写“输入一组数据,先排序,再输入一个数插入其中,再排序,怎么写啊?”各位帮忙吧!先

如题所述

#include<stdio.h>
int sort( int a[], int n)
{
int i=0, j=0,t=0;

for( i=0; i<n-1; i++ )
for( j=i+1; j<n; j++ ) if( a[i]<a[j])/*从大到小排序*/
t=a[i], a[i]=a[j], a[j] = t;
return 0;
}
int insert( int a[], int n )/*n为数组里原来的元素个数,k为插入的位置从左编号0开始*/
{
printf( "\ninput the numble you want to:");
scanf( "%d",&a[n] );
sort( a, n+1 );
return 0;
}
int main()
{
int a[20];
int i=0;

for( i=0; i<10; i++ ) a[i] = i+1;
sort( a, 10 );
for( i=0; i<10; i++ ) printf( "%d\t",a[i] );
insert( a,10 );
for( i=0; i<11; i++ ) printf( "%d\t",a[i] );
return 0;
}
这样??
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-10-14
vector<int> vecData;

copy(istream_iterator(cin),istream_iterator(),
back_insert_iterator<vector<int>>(vecData));

sort(vecData.begin(),vecData.end());

copy(vecData.begin(),vecData.end(),
ostream_iterator<vector<int>>(cout,' '));

int nNewInsertData;
cin >> nNewInsertData;
vecData.push_back(nNewInsertData);

sort(vecData.begin(),vecData.end());

copy(vecData.begin(),vecData.end(),
ostream_iterator<vector<int>>(cout,' '));

一切OK!!
第2个回答  2010-10-14
我不知道你要什么样的输出,先告诉我输出什么吧