當前位置:編程學習大全網 - 編程軟體 - 如果1、3、5、7、9、11、13這6個數隨機排列為2組,如何編程?

如果1、3、5、7、9、11、13這6個數隨機排列為2組,如何編程?

如果要追求效率,需要比較復雜的數據結構。妳這裏數字比較少,就用個簡單的辦法吧。

#include<stdio.h>

#include<stdlib.h>

void main()

{

int data[]={1,3,5,7,9,11,13};

int i,j;

randomize();

j=random(5)+1;

printf("first:");

for(i=1;i<=3;i++)//隨機抽出三個數

{

while(data[j]==0)//如果數組位置為0則繼續隨機選擇

{

j=random(5)+1;

}

printf("%d ",data[j]);

data[j]=0;//壹旦數組被選中過,必須置0防止以後重復選擇

}

printf("\nsecond:");//將剩余的非0的數字分為第二組

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

{

if(data[i]!=0)

printf("%d ",data[i]);

}

getch();

}

運行結果:

first:9 7 5

second:1 3 11 13

first:11 3 7

second:1 5 9 13

如果妳想把結果更加隨機化和壹般化,可以自己再修改壹下代碼哦

如果妳是完美主義者,可以改成鏈表結構,這樣效率會高不少

  • 上一篇:心理測試:測試妳的平庸指數有多高?
  • 下一篇:哪個網站可以自學易語言?謝謝妳
  • copyright 2024編程學習大全網