C語言中 用陣列編寫「輸入一組資料,先排序,再輸入數插入其中,再排序,怎麼寫啊?」各位幫忙吧!先

時間 2022-03-08 15:30:13

1樓:街角哦祝福

#include

int sort( int a, int n)int insert( int a, int n )/*n為陣列裡原來的元素個數,k為插入的位置從左編號0開始*/

int main()

這樣??

2樓:小菊阪胡蝶

vectorvecdata;

copy(istream_iterator(cin),istream_iterator(),

back_insert_iterator>(vecdata));

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

copy(vecdata.begin(),vecdata.end(),

ostream_iterator>(cout,' '));

int nnewinsertdata;

cin >> nnewinsertdata;

vecdata.push_back(nnewinsertdata);

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

copy(vecdata.begin(),vecdata.end(),

ostream_iterator>(cout,' '));

一切ok!!

3樓:追

我不知道你要什麼樣的輸出,先告訴我輸出什麼吧

c語言程式編寫 有乙個已排好序的陣列,由鍵盤又輸入乙個數,要求按原來排序的規律將其插入陣列中

4樓:凌亂心扉

#include

int main()

,i,j,n,x;

printf("請輸入陣列元素的個數:");

scanf("%d",&n);

printf("請輸入排好序的一串數字:\n");

for(i=0;iscanf("%d",&a);

printf("請輸入要插入的數:");

scanf("%d",&x);

if(a[0]>a[1])//該陣列按降序排列

printf("插入後的陣列:\n");

for(i=0;i<=n;i++)

printf("%d",a);

return 0;

}include用法:

#include命令預處理命令的一種,預處理命令可以將別的源**內容插入到所指定的位置;可以標識出只有在特定條件下才會被編譯的某一段程式**;可以定義類似識別符號功能的巨集,在編譯時,預處理器會用別的文字取代該巨集。

插入標頭檔案的內容

#include命令告訴預處理器將指定標頭檔案的內容插入到預處理器命令的相應位置。有兩種方式可以指定插入標頭檔案:

1、#include《檔名》

2、#include"檔名"

如果需要包含標準庫標頭檔案或者實現版本所提供的標頭檔案,應該使用第一種格式。如下例所示:

#include//一些數學函式的原型,以及相關的型別和巨集

如果需要包含針對程式所開發的原始檔,則應該使用第二種格式。

採用#include命令所插入的檔案,通常副檔名是.h,檔案包括函式原型、巨集定義和型別定義。只要使用#include命令,這些定義就可被任何原始檔使用。如下例所示:

#include"myproject.h"//用在當前專案中的函式原型、型別定義和巨集

你可以在#include命令中使用巨集。如果使用巨集,該巨集的取代結果必須確保生成正確的#include命令。例1展示了這樣的#include命令。

【例1】在#include命令中的巨集

#ifdef _debug_

#define my_header"myproject_dbg.h"

#else

#define my_header"myproject.h"

#endif

#include my_header

當上述程式**進入預處理時,如果_debug_巨集已被定義,那麼預處理器會插入myproject_dbg.h的內容;如果還沒定義,則插入myproject.h的內容。

5樓:匿名使用者

#include

int main()

;//排好

bai的陣列

scanf("%d",&m);  //輸入數du據zhifor(i=0;i<10;i++)

if(m尋找這個數的位dao置

a[i]=m;  //插入資料

}for(i=0;i<11;i++)  //輸出容printf("%d ",a[i]);

return 0;

}不懂再問

6樓:1230鮑

倒數第七行有誤,它表示的是換位,往後移動可以直接表示為a[j+1]=a[j];

c語言:輸入乙個10個整數的陣列,按從小到大排序輸出,然後再輸入乙個整數,插入到序列中,也符合排序

7樓:

實在覺得繁瑣,你的程式有2個地方可以改進

1,排序的時候不用冒泡演算法,取用其它的排序演算法

2,插入的時候可以用二分插入法,比你上面的演算法效率高多了

c語言:輸入10個整數,按從小到大排序,再輸入乙個整數,插入到已排好序的陣列中,保持原陣列的順序不變。

8樓:

貌似都是書上的題啊

第1個應該很簡單,定義陣列大一點,輸入要查詢的資料後,對比找到第乙個比它大的數的位置,然後將該位置後的數全部順延一位,將資料放入該位置

第2個#include

#define n 20 //巨集定義陣列大小int main()

for(i=0;i

a[i]=i+1;//給陣列賦值,表示第一,第二....第n個人total_p=n;

i=0;

while(total_p!=1)//總人數只有1個人時停止迴圈i++;//指向下乙個人

if(i==n)//表示最後乙個人已經報過數i=0;//又從第乙個人開始數

} for(i=0;i

if(a[i]!=0)

printf("the number of the last people is %d\n",a[i]);//找出陣列中不為0的元素,此人則是最後留下的人

return 0;}

9樓:匿名使用者

第乙個有人寫了,我來寫那個補充題吧:

#include

#include

using namespace std;

struct jose

;int n, s, m;

jose *pcur, *pivot;

bool getvalue();

jose* createring();

void countboy(int m);

void process();

int main()

bool getvalue()

jose* createring()

cout<<"there are "

} 這個應該就是你說的功能了。

10樓:匿名使用者

很多,很古老的問題了啊,可以在網路上找到一大堆答案的。

11樓:匿名使用者

#include

main()

for(i=0;i<10;i++)

cout<

在c語言中,將乙個數插入乙個陣列中,程式怎麼寫?

12樓:匿名使用者

有乙個已排好序(從大到小)的陣列有5個元素,從鍵盤輸入乙個數,要求按原排序的規律將它插入到陣列中

<5;i++)  if(x2.j=i;    /*當這個數比當前數小時,用j記住當前位置,即j=i,中斷迴圈。

比當前數大時繼續下乙個(小應當在左側,大則在右側) */

3.break;  for(i=5;i>=j;i--)

a[i+1]=a[i]; /*將位置j以後的資料都向後移一位*/ a[i+1]=x;    /*

4. 把要插入的數x放到a[i]中,因為i--後 i 比實際要插入的位置少1,所以真正插入的位置應該i+1*/

5.for(i=0;i<=5;i++)  /*這時一共有6個數* printf("%d ",a[i]);

13樓:我行我素

#include

void main()

;int n;

printf("請輸入需要插入到陣列中的位置:");

scanf("%d",&n); //比如說插入到第三個位置,即s[2]中,則輸入3

int num;

printf("請輸入需要插入的數:");

scanf("%d",&num);

for (int i=10-1;i>=n;i--)s[i]=num;

printf("插入之後的陣列:\n");

for (i=0;i<10;i++)

printf("\n");}

14樓:

你可以先定義乙個陣列和乙個變數,然後把這個變數寫入陣列,比如int x,i,a[10];

for(i=0;i<=9;i++)

a[i]=x;

這樣程式執行後,陣列a[10]的內容依次插入了裡面。

c語言中怎麼將一組16進位制數加入陣列

例 include include char sdec 4 把 0x05,0xc5,0xb3,0xea 組合成一個十六進位制數 0x05c5b3ea 並且把 0x05c5b3ea 轉換成十進位制數。unsigned int i,v int main v 0 for i 0 i 4 i v unsig...

C語言程式設計 用陣列方法編寫,比較輸入的兩組字串的大小

高金山 這麼多人在幹嘛呢?include int strcmp char s1,char s2 int strcmp char s1,char s2 else if s2 i else i if flag else if s1 i n flag 2 else flag 1 if flag 1 ret...

C語言中怎樣實現對陣列資料的刪除 修改

include typedef struct nodenode node c 100 int n void print printf n n 輸出 void setnum 設定資料 void remove 迴圈覆蓋,讓後一個覆蓋前一個,所以j最大值取n 1 n 結構體中的元素減少1個 刪除資料 vo...